Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 格式为双精度2位小数,并以Swift四舍五入_Ios_Swift_Format - Fatal编程技术网

Ios 格式为双精度2位小数,并以Swift四舍五入

Ios 格式为双精度2位小数,并以Swift四舍五入,ios,swift,format,Ios,Swift,Format,目前,我正在使用以下代码格式化“value”常量: let formatString = "%.2f"; let value = 2366.34321; let formattedValue = String(format: formatString, value); 我得到的结果是2366.34,但我希望它是0.05的倍数。在这种情况下,它应该是2366.35 最好的方法是什么?试试这个: let fvalue = round(value/0.05)*0.05 let formattedV

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

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

let formattedValue = String(format: formatString, value);
我得到的结果是2366.34,但我希望它是0.05的倍数。在这种情况下,它应该是2366.35

最好的方法是什么?

试试这个:

let fvalue = round(value/0.05)*0.05
let formattedValue = String(format: formatString, fvalue)

顺便说一句,不需要以
结尾在Swift:-)我知道,但后来当我使用其他语言时,我不会忘记它们:)这解决了它,谢谢!这远远不是最好的方法。最好使用
NumberFormatter
,以便获得正确的本地化结果。请注意,在Swift 3中,您可以使用FloatingPoint round方法
让fvalue=value.除以(0.05).四舍五入().乘以(0.05)
。优点是,如果需要,可以指定舍入方法
(.up)
(.down)