Ios 格式为双精度2位小数,并以Swift四舍五入
目前,我正在使用以下代码格式化“value”常量: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
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)
。