귀하의 문제가 ... 이런 식으로 뭔가를 할 수 그는 문자열 자체가 아니라 문자열로 값을 바꿉니다. 그래서 당신이하는 일은 십진수 변수를 취하여 그 값을 문자열로 변환하고 문자열을 십진수로 되 돌리는 것입니다.
Dim testdecimal as decimal = 0.0 'testDecimal is a decimal type and you are assigning a decimal value
testdecimal = Cstr(testdecimal) 'testDecimal is still a decimal but you are trying to put a string in it Here is your first type mismatch
testdecimal = string.empty ' If this actually had worked it would have made the above line pointless because you just tried to overwrite the value (even though this line did not execute here is your second type mismatch)
은 당신이 할 필요가있을 것이다 것은 :
Dim NewString as String
Dim testdecimal as decimal = 0.0
NewString = Cstr(testdecimal)
는 위의 소수 값을 받아 문자열 변수에 다음 문자열로 저장을 변환합니다.
이제 문제의 두 번째 부분에 대해 10 진수를 빈 문자열로 변환하십시오. 문자열로 변환 된 0.0은 여전히 "0.0"문자열이기 때문에 불가능합니다. 빈 문자열은 단지 빈 문자열입니다.
만약 당신이 10 진수를 문자열로 바꾸고 싶다면 값이 0.0이면 빈 문자열을 만드십시오. IF 문으로 쉽게 할 수 있습니다.
은 기본적으로 그냥 할 : C#을
Dim NewString as String
Dim testdecimal as decimal = 0.0
if(testdecimal =0.0) Then
NewString = String.Empty
Else
NewString = Cstr(testdecimal)
END IF
의 즉, 그것은 잘못된 생각이다. – SLaks
VB로 변경되었습니다. 그것이 좋은 생각이라고 말하지 않았습니까? 단지해야 할 일이 무엇인지를 보여주는 것일뿐입니다. 나는 더 나은 코드로 대안을 포함시켰다. –
10 진수를 문자열로 변환 한 다음 겹쳐 쓰는 것이 왜 불편합니까? 왜 그냥 어둡지 testStr String = String.Empty –