2016-12-08 49 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後,應該輸出1 000而不是1000.非常感謝您提供任何有用的幫助,我真的無處不在,我什麼都找不到。

回答

0

你在說分組分隔符。 Custom Numeric Format Strings

您可以使用.ToString()方法並以格式定義組分隔符。

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

將根據本地系統的語言/區域設置使用不同的分隔符。

您可以定義custome分離器手動

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

如果我得到它的權利,你要每3個字符的空間,對不對? 喜歡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) 
相關問題