当前位置: 首页 > 知识库问答 >
问题:

格式为双精度2位小数,并以Swift[重复]四舍五入

党航
2023-03-14

目前,我正在使用以下代码来格式化“值”常量:

let formatString = "%.2f";
let value = 2366.34321;

let formattedValue = String(format: formatString, value);

我得到的结果是2366.34,但我希望它是0.05的倍数。在这种情况下,它应该是2366.35。

最好的方法是什么?

共有1个答案

储俊英
2023-03-14

试试这个:

let fvalue = round(value/0.05)*0.05
let formattedValue = String(format: formatString, fvalue)
 类似资料:
  • 问题内容: 谁能告诉我在Swift中如何将双精度值四舍五入到小数点后位数x? 我有: 以秒为单位的NSTimeInterval(double)。 会给我时间,但是会给我这么长的精确时间,例如1.543240952039 … 打印时如何将其四舍五入为1.543 ? 问题答案: 您可以使用Swift的功能来完成此操作。 要以3位数精度四舍五入,首先将其乘以1000,四舍五入,然后将四舍五入的结果除以1

  • 我已经阅读了很多stackoverflow问题,但似乎没有一个对我有效。我正在使用<code>数学。round()进行舍入。这是代码: 我得到的输出是:< code>123,但我希望它是< code>123.14。我知道添加< code>*100/100会有所帮助,但是正如你所看到的,我并没有设法让它工作。 输入和输出都是双份绝对是必不可少的。 如果您更改上述代码的第4行并发布它,那将是很大的帮助

  • 获取以下数字集--> 当相加时,这些给出一个整数。

  • 我有一个双变量是,我想把它四舍五入到1小数位。 我正在使用Kotlin,但Java解决方案也很有用。 Val值为0.0449999 我试图得到1小数位与这两个解决方案: 问题是在这两种情况下我都得到了0.0,因为它将数字从四舍五入到。它不需要所有的小数和四舍五入。 我想获得0.1:

  • 问题内容: 我想四舍五入: 至: 我已经使用了这两种方法: 和 但它一直在打印: 有人对此有解决方案吗?因为我真的认为这应该可行。谢谢你的帮助。 问题答案: 您的第一个解决方案确实非常接近。只是这样做: 您的版本无法正常运行的原因是,您使用了double格式,使用2dp将其格式化为,然后又将其转换回了。 然后照常打印,没有特殊的小数位规则。

  • 问题内容: 我有以下JavaScript语法: 这四舍五入为整数。如何返回两位小数的结果? 问题答案: 注-如果3位数精度很重要,请参阅编辑4 toFixed将根据超过2个小数的值为您舍入或舍入。 编辑 -正如其他人所提到的,它将结果转换为字符串。为了避免这种情况: 编辑2- 正如注释中所提到的,此函数在某种程度上会失败,例如在1.005的情况下,它将返回1.00而不是1.01。如果准确性在这个程