2016-12-08 6 views
0

みなさんこんにちは。特定の文字の後に文字列のスペースを追加する(VBコード)

Dim txt1 As Double = Convert.ToDouble(TextBox1.Text)/100 
    Dim txt2 As Double = Convert.ToDouble(TextBox2.Text) 
    Dim txt3 As Double = Convert.ToDouble(TextBox3.Text) 
    Dim txtResult As Double = Convert.ToDouble(TextBox4.Text) 

    Dim result As Double = txt1 * txt2 * txt3 
    TextBox4.Text = result 

あなたは私がどのようなユーザータイプでに応じて、私の結果を得る。だから私は、特定の文字の後にスペースを追加する必要が見ることができるように。 Textbox14.text(0)< ---この後、私は自分のスペースを必要とします。値が999を超えると、1000ではなく1 000をタイプする必要があります。役に立つ助けをありがとう、私は本当にどこでも見てきました。何も見つかりません。

答えて

0

あなたはグループセパレータについて話しています。 Custom Numeric Format Strings

.ToString()メソッドを使用して、フォーマットでグループセパレータを定義できます。

TextBox4.Text = result.ToString("0,0.000") 

ローカルシステムの言語/地域設定に基づいて、異なる区切り文字が使用されます。

あなたは私が右のそれを取得する場合、あなたは右、すべての3文字のスペースをしたいですか?手動

var cultureInfo = new System.Globalization.CultureInfo("en-US"); 
var numberInfo = cultureInfo.NumberFormat; 
numberInfo.NumberGroupSeparator = " "; 

TextBox4.Text = result.ToString("0,0.000", numberInfo) 
+0

うわー!ありがとうございました、実際には簡単でした!すてきな一日を! – Vraces

0

あなた、カスタマーセパレータを定義することができますか 1 000 000のように? これを試してください:

Dim result As String, str As String, ret As String 
Dim i As Integer 
Dim arr As Char() 
'your text to space 
result = "10000000" 
'reverte so we start with the end 
result = StrReverse(result) 
i = 0 
ret = "" 
' make a char array which each char is an own array element 
arr = result.Take(result.Length).ToArray 
'iterate through all elements 
For Each str In arr 
    ' skip the first element . 
    ' only add a space every 3 elements 
    If (i <> 0) And (i Mod 3 = 0) Then 
     ret = ret + " " 
    End If 
    ret = ret + str 
    i = i + 1 
Next 
' revers again the output 
ret = StrReverse(ret) 
MsgBox(ret) 
関連する問題