当前位置: 首页 > 面试题库 >

格式字符串中的可变位数

袁安志
2023-03-14
问题内容

编写此格式化功能的一种干净方法是:

def percent(value,digits=0):
    return ('{0:.%d%%}' % digits).format(value)

>>> percent(0.1565)
'16%'

>>> percent(0.1565,2)
'15.65%'

问题是格式化具有给定数字位数的数字,我不喜欢同时使用’%’运算符和格式化方法。


问题答案:

我喜欢这一个:

'{0:.{1}%}'.format(value, digits)

测试:

>> '{0:.{1}%}'.format(0.1565, 0)
'16%'
>> '{0:.{1}%}'.format(0.1565, 2)
'15.65%'


 类似资料:
  • 问题内容: 在Python中,格式化字符串时,我可以按名称而不是按位置填充占位符,如下所示: 我想知道这在Java中是否可行(希望没有外部库)? 问题答案: 感谢你的帮助!利用您的所有线索,我编写了例程来完全实现我想要的功能-使用字典使用类似python的字符串格式。由于我是Java新手,因此不胜感激。

  • 问题内容: Javascript中是否有用于格式化数字和字符串的函数? 我正在寻找一种用于字符串或数字的千位分隔符的方法…(如C#中的String.Format) 问题答案: 以下原始答案中引用的参考文献有误。这里是一个内置的功能,这一点,而这正是德皇以下建议: 因此,您可以执行以下操作: 下面实现的功能也可以使用,但是根本没有必要。 原始答案 根据此参考资料,没有内置函数可将逗号添加到数字中。但

  • 本文向大家介绍Java中的不可变字符串,包括了Java中的不可变字符串的使用技巧和注意事项,需要的朋友参考一下 在Java中,不可变对象是指那些不能更改或修改(一旦修改)数据的对象。字符串类是不可变的,即一旦我们创建了一个字符串对象,就无法修改其数据。

  • 问题内容: 我的字符串看起来像这样:“您可以在[开始日期+ 30]之前使用促销。” 我需要将占位符替换为实际日期- 这是销售的开始日期加上30天(或其他任何数字)。也可以单独显示而无需添加数字。同样,占位符内的所有多余空格都应被忽略,并且不要使替换失败。 用Java做到这一点的最佳方法是什么?我正在考虑用于查找占位符的正则表达式,但不确定如何执行解析部分。如果只是[开始日期],我将使用该方法,但由

  • 我想使用静态定义的模板来构建URL。 我正在尝试为此使用 ES6 字符串插值功能 预期结果:http://example.com/?name=John 实际结果:http://example.com/?name=${name} 如果这不能用字符串插值来实现,那么还有比<code>string.prototype更好的方法。替换like

  • 据我所知, 可变字符串可以更改,不可变字符串不能更改。 这里我想这样改变字符串的值, 另一种方法是, 在这两种情况下,我都试图改变str的值。谁能告诉我,这两种情况的区别是什么,让我清楚地了解可变和不可变对象。

  • 问题内容: 假设我想在前面显示数字123,并带有可变数量的填充零。 例如,如果我想以5位数字显示它,那么我将有5位数字给我: 如果我想以6位数字显示它,我将有6位数字给出: 我将如何在Python中执行此操作? 问题答案: 有一个名为zfill的字符串方法: 它将用零填充字符串的左侧以使字符串长度为N(在这种情况下为10)。

  • 问题内容: 我的问题是格式化通过扫描仪输入的字符串。我试图输入“ Result is”,但printf()似乎只看到字符串的“ Result”部分,那么空白命令是什么?谢谢 问题答案: 有几种可能的解决方案,但我相信以下内容将为您提供与其他输入一致的行为: 如果需要,这种方法将允许您在一行上输入所有输入。 例如: 1 1.2结果是 但是,如果您确实希望用户在每次输入后都按一下,则使用Scanner