web-dev-qa-db-ja.com

文字列の小数点以下3桁

例1

Dim myStr As String = "38"

結果を38.000にしたい...


例2

myStr = "6.4"

結果を6.400にしたい


これを達成するための最良の方法は何ですか? string変数を少なくとも3つの小数点でフォーマットします。

9
Alex

FormatNumber を使用:

Dim myStr As String = "38"
MsgBox(FormatNumber(CDbl(myStr), 3))

Dim myStr2 As String = "6.4"
MsgBox(FormatNumber(CDbl(myStr2), 3))
15
GJKH

"Standard Numeric Format Strings" を見てください。

float value = 6.4f;
Console.WriteLine(value.ToString("N3", CultureInfo.InvariantCulture));
// Displays 6.400
2
giacomelli

だからあなたが持っているなら

_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"))
_

するだろう。

2
Jodrell

疑似コード

decpoint = Value.IndexOf(".");
If decpoint < 0 
  return String.Concat(value,".000")
else
  return value.PadRight(3 - (value.length - decpoint),"0")

文字列の場合は、文字列として保持します。数値の場合は、1として渡します。

1
Tony Hopkinson