我有一些字符串,例如:格式化長字符串轉換爲短字符串C#
1.5555555555555
2.3421354325435354545
4.509019292
我想將它們格式化爲一個字符串,如:
1.5555
2.3421
4.5090
我試圖使用C#String.Format,但無法正確工作。
有人可以請給我正確的C#語句來完成這個?
謝謝。
我有一些字符串,例如:格式化長字符串轉換爲短字符串C#
1.5555555555555
2.3421354325435354545
4.509019292
我想將它們格式化爲一個字符串,如:
1.5555
2.3421
4.5090
我試圖使用C#String.Format,但無法正確工作。
有人可以請給我正確的C#語句來完成這個?
謝謝。
目前還不清楚,如果你將永遠被處理的數值。如果你想避免解析字符串爲數字,你可以嘗試這樣的事:
public static string TrimTo(string str, int maxLength)
{
if (str.Length <= maxLength)
{
return str;
}
return str.Substring(0, maxLength);
}
這將提供的字符串修剪六個字符,如果是超過六更長。這似乎是你想要的,但(如凱斯指出),會做一些意想不到的事情,像「1234567.890」字符串。
這裏有條件的條款是必要的,因爲String.Substring
會抱怨,如果第二個索引超出字符串(如果字符串短於maxLength
換句話說)。
(如果你周圍的C#3.0 extension methods都玩過,你可能會爲一個極好的機會,認識到這一點,從上面略加修改,:string trimmed = s.TrimTo(10);
)
如果轉換字符串雙打您可以使用String.Format指定在將其重新格式化爲字符串時要包含的小數位數。
String.Format("{0:0.0000}", double.Parse("1.55555555555555"))
你有什麼企圖?具有數字格式字符串(如g或f)的string.Format()取決於輸入值是數字(十進制,浮點數,雙精度)。所以你必須先解析你的數字串。如果你只是想不捨入舍位,你總是可以使用string.Substring()。 – 2011-01-20 18:37:02
你也有類似1003.1543234的字符串嗎?這些格式應該如何處理? – 2011-01-20 18:47:01
這些不是字符串,它們是小數,你的描述是不正確的,並且會導致誤導性 – JrBriones 2015-07-16 17:04:45