在特定字符(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.非常感谢您提供任何有用的帮助,我真的无处不在,我什么都找不到。
答
你在说分组分隔符。 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)
答
如果我得到它的权利,你要每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)
哇!谢谢你,这其实很简单!祝你有美好的一天! – Vraces