gpt4 book ai didi

ios numberformatter currency 如果为 0,则删除尾随小数

转载 作者:可可西里 更新时间:2023-11-01 03:05:59 24 4
gpt4 key购买 nike

我想将我的号码格式化为货币字符串。有以下几种情况

25.00 => $25
25.43 => $25.43
25.4 => $25.40
0.00 -> $0

有没有办法在 NSNumberFormatter 中做到这一点?

这是我现在的代码:

NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setNumberStyle:NSNumberFormatterCurrencyStyle];
[fmt setCurrencyCode:@"USD"];

然而,我的第一个和最后一个示例失败了。

我也试过:

NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setPositiveFormat:@"$0.##"];

但是我的第三个案例失败了。有什么建议吗?

最佳答案

根据数字是否为整数更改小数位数。

- (NSString *)stringFromNumber:(NSNumber *)number
{
BOOL isWholeNumber = (roundf(number.doubleValue) == number.doubleValue);
self.currencyNumberFormatter.maximumFractionDigits = self.currencyNumberFormatter.minimumFractionDigits = isWholeNumber ? 0 : 2;

NSString *str = [self.currencyNumberFormatter stringFromNumber:number];
return str;
}

关于ios numberformatter currency 如果为 0,则删除尾随小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22302194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com