3
A
回答
3
其实我觉得它更容易去truncateToDouble()
和toStringAsFixed()
,而不是使用NumberFormat
都:
n.toStringAsFixed(n.truncateToDouble() == n ? 0 : 2);
因此,例如:
main() {
double n1 = 15.00;
double n2 = 15.50;
print(format(n1));
print(format(n2));
}
String format(double n) {
return n.toStringAsFixed(n.truncateToDouble() == n ? 0 : 2);
}
打印到控制台:
15
15.50
4
编辑:发表马丁的解决方案作用似乎是一个更好的
我不认为这是可以直接完成。你最有可能需要的东西是这样的:
final f = new NumberFormat("###.00");
String format(num n) {
final s = f.format(n);
return s.endsWith('00') ? s.substring(0, s.length - 3) : s;
}
0
不太容易。解读你想要什么作为印刷零位小数,如果它是一个整数值,刚好两个,如果它是一个浮动,你可以做
var forInts = new NumberFormat();
var forFractions = new NumberFormat();
forFractions.minimumFractionDigits = 2;
forFractions.maximumFractionDigits = 2;
format(num n) =>
n == n.truncate() ? forInts.format(n) : forFractions.format(n);
print(format(15.50));
print(format(15.0));
但是,除非你想要的结果打印出来的效果对于有使用NumberFormat的这个小的优势不同的地区。
相关问题
- 1. 飞镖Web_Audio飞镖1.6
- 2. 与飞镖PointerLock
- 3. 飞镖:干将
- 4. 飞镖基准?
- 5. 飞镖中的urlencoding
- 6. 导入飞镖包
- 7. 造型和飞镖
- 8. 飞镖EventSource错误
- 9. 使用飞镖动态加载飞镖脚本
- 10. 飞镖的KeyboardEvent Backspace键
- 11. 飞镖式的指导
- 12. 解析飞镖中的JSON
- 13. 金字塔,飞镖,setuptools
- 14. 类/编译时间飞镖
- 15. 飞镖游戏计算
- 16. 飞镖等待关键字
- 17. 谷歌飞镖错误
- 18. 角度飞镖组件init
- 19. 飞镖中有会议吗?
- 20. Chrome扩展程序+飞镖
- 21. Angular2游飞镖:大写
- 22. 文件输入和飞镖
- 23. 飞镖编译时出错
- 24. 飞镖变压器包
- 25. 飞镖MD5从字符串
- 26. 有谷歌,YouTube的WebComponent的对飞镖
- 27. 在角使用的WebSockets飞镖
- 28. 如何旋转飞镖中的图像?
- 29. 谷歌飞镖页面内的标签
- 30. 获取飞镖源代码的ASTD
我不得不在这笑,因为一种语言,声称喜欢简洁 – fostandy