将数字数量转换为显示"预期类型"错误的 vb.net 单词



我正在尝试将数字转换为 vb.net 中的单词。但是在某处我收到"预期类型"错误。下面是我的整个代码。我还在出现此错误的地方单独放置代码。

Public Shared Function ConvertNumbertoWords(number As Integer) As String
If number = 0 Then
Return "ZERO"
End If
If number < 0 Then
Return Convert.ToString("minus ") & ConvertNumbertoWords(Math.Abs(number))
End If
Dim words As String = ""
If (number / 1000000) > 0 Then
words += ConvertNumbertoWords(number / 1000000) & Convert.ToString(" MILLION ")
number = number Mod 1000000
End If
If (number / 1000) > 0 Then
words += ConvertNumbertoWords(number / 1000) & Convert.ToString(" THOUSAND ")
number = number Mod 1000
End If
If (number / 100) > 0 Then
words += ConvertNumbertoWords(number / 100) & Convert.ToString(" HUNDRED ")
number = number Mod 100
End If
If number > 0 Then
If words <> "" Then
words += "AND "
End If
Dim unitsMap = New () {"ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE",
"SIX", "SEVEN", "EIGHT", "NINE", "TEN", "ELEVEN",
"TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN", "SIXTEEN", "SEVENTEEN",
"EIGHTEEN", "NINETEEN"}
Dim tensMap = New () {"ZERO", "TEN", "TWENTY", "THIRTY", "FORTY", "FIFTY",
"SIXTY", "SEVENTY", "EIGHTY", "NINETY"}
If number < 20 Then
words += unitsMap(number)
Else
words += tensMap(number / 10)
If (number Mod 10) > 0 Then
words += " " + unitsMap(number Mod 10)
End If
End If
End If
Return words
End Function

在下面一行中,我收到"预期类型"错误

Dim unitsMap = New () {"ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE",
"SIX", "SEVEN", "EIGHT", "NINE", "TEN", "ELEVEN",
"TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN", "SIXTEEN", "SEVENTEEN",
"EIGHTEEN", "NINETEEN"}
Dim tensMap = New () {"ZERO", "TEN", "TWENTY", "THIRTY", "FORTY", "FIFTY",
"SIXTY", "SEVENTY", "EIGHTY", "NINETY"}

您收到此错误是因为您没有指定要声明的数组类型。当我尝试使用这个数组时,我没有收到任何错误

Dim unitsMap  = New string() {"ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN", "SIXTEEN", "SEVENTEEN","EIGHTEEN", "NINETEEN"}

希望这有帮助。

即使 number是一个整数,number/1000000 也会返回一个值为 .003256 的双精度值(当 number 为 3256 时(,该值> 0

对于整数除法,请使用 \

If (number  1000000) > 0 Then

浮点除法运算符

整数除法运算符

注意:如果 OP 中的变量,则数字是名称。 "该"数字不是更好的格式。

相关内容

最新更新