仅显示带小数点的Double的小数部分 [英] Only show decimal portion of Double with the decimal point

查看:82
本文介绍了仅显示带小数点的Double的小数部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图仅显示数字的小数部分,但它会继续打印带有小数点的数字:

I'm trying to only show the decimal portion of a number but it keeps printing the number with the decimal point:

对于数字223.50:

for number 223.50:

changeAmountLabel.text = "\(balance.truncatingRemainder(dividingBy: 1))"

这将打印.5,但是需要打印的是50,有没有办法做到这一点?

this will print .5, but what needs to be printed is 50, is there a way to do this?

推荐答案

您可以使用 NumberFormatter 来实现。

尝试一下:

let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 3


let number = 223.50
if let str = formatter.string(from: NSNumber(value: number)) as? String {
    if let range = str.range(of: ".") {
        let value = str.substring(from: range.upperBound)
        print(value) // 50
    }
}

Swift 4的更新:

if let str = formatter.string(for: number) {
    if let range = str.range(of: ".") {
        let value = str[range.upperBound...]
        print(value) // 50
    }
}

这篇关于仅显示带小数点的Double的小数部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆