2016-12-08 5 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이 아니라 1000을 입력해야합니다. 유용한 도움을 주셔서 대단히 감사합니다. 진실로 도처에서 보았습니다. 아무 것도 찾을 수 없었습니다.

답변

0

그룹 구분 기호에 대해 이야기합니다. Custom Numeric Format Strings

.ToString() 방법을 사용하고 형식에서 그룹 구분 기호를 정의 할 수 있습니다.

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

로컬 시스템의 언어/지역 설정에 따라 서로 다른 구분 기호가 사용됩니다.

당신은 당신의 손님 분리기에게 내가 바로 그것을 얻을 경우 수동으로

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)