我有一些字符串,例如:
1.5555555555555
2.3421354325435354545
4.509019292
我想将它们格式化为一个字符串,例如:
1.5555
2.3421
4.5090
我尝试使用C#String.Format,但我无法正确使用它。
有人可以给我正确的c#声明来完成这个吗?
感谢。
答案 0 :(得分:3)
答案 1 :(得分:3)
目前还不清楚你是否总是处理数值。如果你想避免将字符串解析为数字,你可以尝试这样的事情:
public static string TrimTo(string str, int maxLength)
{
if (str.Length <= maxLength)
{
return str;
}
return str.Substring(0, maxLength);
}
这会将提供的字符串修剪为六个字符(如果长度超过六个字符)。这个似乎就是你想要的,但是(正如Kees所指出的那样),会对像“1234567.890”这样的字符串做一些意想不到的事情。
条件子句在这里是必要的,因为String.Substring
会抱怨如果第二个索引在字符串之外(换句话说,如果字符串短于maxLength
)。
(如果你曾经玩过C#3.0 extension methods,你可能会认识到这一点,稍微修改一下,作为一个很好的机会:string trimmed = s.TrimTo(10);
)
答案 2 :(得分:0)
如果将字符串转换为双精度数,则可以使用String.Format指定在将其重新格式化为字符串时要包含的小数位数。
String.Format("{0:0.0000}", double.Parse("1.55555555555555"))