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. 飛鏢中的飛鏢websocket:io and dart:html
- 3. 與飛鏢PointerLock
- 4. 飛鏢:干將
- 5. 飛鏢基準?
- 6. @飛鏢代碼
- 7. 飛鏢中的urlencoding
- 8. 使用沒有飛鏢編輯器的飛鏢問題
- 9. JSON_OBJECT和飛鏢:鏡
- 10. 導入飛鏢包
- 11. 造型和飛鏢
- 12. 飛鏢:長計算
- 13. 飛鏢庫佈局
- 14. 有使用飛鏢
- 15. 飛鏢EventSource錯誤
- 16. 飛鏢角劍道
- 17. net :: ERR_UNSAFE_PORT在飛鏢
- 18. 的NodeJS http.get的飛鏢
- 19. 使用飛鏢動態加載飛鏢腳本
- 20. 在飛鏢編輯器中自動生成飛鏢
- 21. 飛鏢沒有飛鏢編輯器:刷新
- 22. 飛鏢深處的Urlencode
- 23. 飛鏢中的關機鉤?
- 24. 飛鏢中的PUT請求
- 25. 飛鏢嘲諷的Stream
- 26. 飛鏢中的Channel原始?
- 27. 飛鏢的KeyboardEvent Backspace鍵
- 28. 解析飛鏢中的JSON
- 29. 不帶鼠標的飛鏢
- 30. 飛鏢中的「matchMedia」支持
我不得不在這笑,因爲一種語言,聲稱喜歡簡潔 – fostandy