利用字串格式化精確顯示小數
程式設計中,常常需要以特定格式顯示數值。字串格式化提供了一種控制數字顯示方式的方法,包括顯示的小數位數。
例如,考慮一個價格字段,它顯示整數或最多兩位小數。為此,我們需要根據價格是否包含小數來調整格式字串。
以下範例說明了預設的格式化行為:
<code>// 显示两位小数 String.Format("{0:0.00}", 123.4567); // "123.46" String.Format("{0:0.00}", 123.4); // "123.40" String.Format("{0:0.00}", 123.0); // "123.00"</code>
但是,要顯示沒有小數的整數,我們需要指定強制和可選數字的個數。例如,以下格式字串將顯示最多兩位小數的價格,如果價格沒有小數,則顯示為整數:
<code>String.Format("{0:0.##}", 123.4567); // "123.46" String.Format("{0:0.##}", 123.4); // "123.4" String.Format("{0:0.##}", 123.0); // "123"</code>
在上面的格式字串中,「0」表示強制數字,「#」表示可選數字。因此,字串「0.##」確保價格的小數點前至少有一位數字,小數點後最多兩位數字。
為了簡化解決方案,我們可以使用三元運算子來檢查價格是否為整數並相應地進行格式化:
<code>var number = 123.46; number.ToString(number % 1 == 0 ? "0" : "0.00");</code>
此方法檢查價格除以 1 的餘數是否為零,表示整數。如果是,則將數字格式化為整數 (“0”),否則,則以兩位小數 (“0.00”) 進行格式化。
以上是如何在字串格式中精確顯示小數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!