ios - Objective C 中某些 iPhone 中的 Double 到 String 转换问题
问题描述
我面临双重到字符串转换的问题,它发生在一个或两个用户 iPhone 上,从我的角度来看,它正在按预期工作
我的双重价值 - 10.890000000000001,
预期的字符串输出=“10.89”,
但一些用户 iPhone 的输出是 - “1089”(.错过了)
在调试中我无法重现它,它按预期工作,我没有找到导致此问题的任何原因,在这里我附上了我的代码,提前致谢
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundCeiling];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithDouble:doubleValue]];
解决方案
这可能不是最佳做法,但您可以尝试遵循,它应该适合您。
double doubleValue = 10.89;
NSString * numberString = [NSString stringWithFormat:@"%.02f", doubleValue];
NSLog(@"numberString = %@", numberString);
推荐阅读
- python - 为什么在使用 __slots__ 时会默认删除 __weakref__?
- ios - 当单词出现在数组的标签中时设置图像
- python - 当 pip 设置为需要 virtualenv 时,如何在 anaconda3 venv 中允许 pip?
- sql - 发送带有触发器的电子邮件,当我收到电子邮件时,值错误
- docker - 使用 DoD CAC 访问私有 Docker 注册表
- php - 如何将日期间隔(日期跨度)结果附加到 PHP 数组中?
- java - 如何将 HttpServer 数据传递到不同的 URL
- java - Java:.print 无法按照我在代码中的预期方式工作
- npm - 使用 DoD CAC 访问私有 NPM 存储库
- kubernetes - 为什么 Visual Studio Code 找不到我的 kubectl 二进制文件?