Dim myStr As String = "38"
我希望我的结果为38.000
...
myStr = "6.4"
我希望我的结果为6.400
实现这一目标的最佳方法是什么?我想用三个小数位置格式化字符串变量。
答案 0 :(得分:15)
使用FormatNumber:
Dim myStr As String = "38"
MsgBox(FormatNumber(CDbl(myStr), 3))
Dim myStr2 As String = "6.4"
MsgBox(FormatNumber(CDbl(myStr2), 3))
答案 1 :(得分:2)
查看"Standard Numeric Format Strings"
float value = 6.4f;
Console.WriteLine(value.ToString("N3", CultureInfo.InvariantCulture));
// Displays 6.400
答案 2 :(得分:2)
所以,如果你有
Dim thirtyEight = "38"
Dim sixPointFour = "6.4"
然后,将这些解析为数字类型的最佳方式是Double.Parse
或Int32.Parse
,您应该保持数据类型,直到您想要将其显示给用户。
然后,如果您想要format a string with 3 decimal places,请执行String.Format("{0:N3}", value)
之类的内容。
所以,如果你想快速解决问题,
Dim yourString = String.Format("{0:N3}", Double.Parse("38"))
会做的。
答案 3 :(得分:1)
在伪代码中
decpoint = Value.IndexOf(".");
If decpoint < 0
return String.Concat(value,".000")
else
return value.PadRight(3 - (value.length - decpoint),"0")
如果是字符串,请将其保留为字符串。如果它是一个数字,则将其作为一个。