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