本文介紹了如何在貨幣格式中設(shè)置小數(shù)的格式?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
有沒有辦法設(shè)置小數(shù)的格式如下:
100 -> "100"
100.1 -> "100.10"
如果是整數(shù),則省略小數(shù)部分。否則,請(qǐng)使用兩位小數(shù)設(shè)置格式。
推薦答案
我對(duì)此表示懷疑。問題是,如果它是一個(gè)浮點(diǎn)數(shù),100永遠(yuǎn)不是100,它通常是99.9999999999或100.0000001或類似的東西。
如果您確實(shí)要以這種方式設(shè)置格式,則必須定義一個(gè)epsilon,即與整數(shù)的最大距離,如果差異較小,則使用整數(shù)格式,否則使用浮點(diǎn)數(shù)。
這樣的事情會(huì)奏效的:
public String formatDecimal(float number) {
float epsilon = 0.004f; // 4 tenths of a cent
if (Math.abs(Math.round(number) - number) < epsilon) {
return String.format("%10.0f", number); // sdb
} else {
return String.format("%10.2f", number); // dj_segfault
}
}
這篇關(guān)于如何在貨幣格式中設(shè)置小數(shù)的格式?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,






