[英]Format int to string with decimals
我正在嘗試使用string.Format
方法格式化字符串,以從int
數據類型產生固定的十進制字符串。
我嘗試了以下代碼:
sOutputString = string.Format(
"Days:{0:D1} Hours:{1:D1} Minutes:{2:D1} Seconds:{3:D1} Miliseconds:{4:D1}",
objTimeCalculate.Days,
objTimeCalculate.Hours,
objTimeCalculate.Minutes,
objTimeCalculate.Seconds,
objTimeCalculate.Miliseconds);
屬性Days
, Hours
, Minutes
, Seconds
是int
數據類型,並使用指定的D
格式進行格式化。 但是我需要在字符串中產生decimal
值。
輸出應為:
sOutputString = Days : double_value Hours : double_value Minutes : double_value Seconds : double_value Miliseconds : integer_value
由於屬性日可能超出整數數據類型范圍。
假設objTimeCalculate
是一個TimeSpan
所有這些變量都是int
。 因此,它們沒有十進制值。
但是,我們可以使用格式字符串F1
,該字符串將返回固定的十進制值,但是始終為0
。
例:
var objTimeCalculate =(DateTime.Now - DateTime.UtcNow);
var sOutputString = string.Format(
"Days:{0:F1} Hours:{1:F1} Minutes:{2:F1} Seconds:{3:F1} Miliseconds:{4:F1}",
objTimeCalculate.Days,
objTimeCalculate.Hours,
objTimeCalculate.Minutes,
objTimeCalculate.Seconds,
objTimeCalculate.Milliseconds);
結果:
Days:0.0 Hours:9.0 Minutes:29.0 Seconds:59.0 Miliseconds:996.0
您可以查閱標准數字格式字符串以獲取更多詳細信息。
“ F”或“ f”定點
結果:帶負號的整數和十進制數字。 支持的對象:所有數字類型。 精度說明符:小數位數。 默認精度說明符:由NumberFormatInfo.NumberDecimalDigits定義。
您正在尋找F說明符:
sOutputString = string.Format(
"Days:{0:F2} Hours:{1:F2} Minutes:{2:F2} Seconds:{3:F2} Miliseconds:{4:F2}",
objTimeCalculate.Days,
objTimeCalculate.Hours,
objTimeCalculate.Minutes,
objTimeCalculate.Seconds,
objTimeCalculate.Miliseconds);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.