-
Nov 15th, 2017, 01:17 PM
#1
Thread Starter
Banned
translation vb.net to c# for counter program
I am having difficulty converting the following code from vb.net to c# :
Code:
Imports System.Math
Public Class Form1
Function toKanji(ByVal N As ULong) As String
Dim kanji As String
kanji = "enter a number"
Select Case N.ToString.Length()
Case 1
Select Case N
Case 1
kanji = "ichi"
Case 2
kanji = "ni"
Case 3
kanji = "san"
Case 4
kanji = "yon"
Case 5
kanji = "go"
Case 6
kanji = "roku"
Case 7
kanji = "nana"
Case 8
kanji = "hachi"
Case 9
kanji = "kyu"
Case Else
kanji = ""
End Select
Case 2
Select Case N \ 10
Case 1
kanji = "ju" & " " & toKanji(N Mod 10)
Case 2
kanji = "ni-ju" & " " & toKanji(N Mod 10)
Case 3
kanji = "san-ju" & " " & toKanji(N Mod 10)
Case 4
kanji = "yon-ju" & " " & toKanji(N Mod 10)
Case 5
kanji = "go-ju" & " " & toKanji(N Mod 10)
Case 6
kanji = "roku-ju" & " " & toKanji(N Mod 10)
Case 7
kanji = "nana-ju" & " " & toKanji(N Mod 10)
Case 8
kanji = "hachi-ju" & " " & toKanji(N Mod 10)
Case 9
kanji = "kyu-ju" & " " & toKanji(N Mod 10)
Case Else
kanji = ""
End Select
Case 3
Select Case N \ 100
Case 1
kanji = "hyaku" & " " & toKanji(N Mod 100)
Case 2
kanji = "ni-hyaku" & " " & toKanji(N Mod 100)
Case 3
kanji = "sanbyaku" & " " & toKanji(N Mod 100)
Case 4
kanji = "yon-hyaku" & " " & toKanji(N Mod 100)
Case 5
kanji = "go-hyaku" & " " & toKanji(N Mod 100)
Case 6
kanji = "roppyaku" & " " & toKanji(N Mod 100)
Case 7
kanji = "nana-hyaku" & " " & toKanji(N Mod 100)
Case 8
kanji = "happyaku" & " " & toKanji(N Mod 100)
Case 9
kanji = "kyu-hyaku" & toKanji(N Mod 100)
Case Else
kanji = ""
End Select
Case 4
Select Case N \ 1000
Case 1
kanji = "sen" & " " & toKanji(N Mod 1000)
Case 2
kanji = "ni-sen" & " " & toKanji(N Mod 1000)
Case 3
kanji = "san-zen" & " " & toKanji(N Mod 1000)
Case 4
kanji = "yon-sen" & " " & toKanji(N Mod 1000)
Case 5
kanji = "go-sen" & " " & toKanji(N Mod 1000)
Case 6
kanji = "roku-sen" & " " & toKanji(N Mod 1000)
Case 7
kanji = "nana-sen" & " " & toKanji(N Mod 1000)
Case 8
kanji = "hassen" & " " & toKanji(N Mod 1000)
Case 9
kanji = "kyu-sen" & toKanji(N Mod 1000)
Case Else
kanji = ""
End Select
Case 5
Select Case N \ 10000
Case 1
kanji = "ichi-man" & " " & toKanji(N Mod 10000)
Case 2
kanji = "ni-man" & " " & toKanji(N Mod 10000)
Case 3
kanji = "san-man" & " " & toKanji(N Mod 10000)
Case 4
kanji = "yon-man" & " " & toKanji(N Mod 10000)
Case 5
kanji = "go-man" & " " & toKanji(N Mod 10000)
Case 6
kanji = "roku-man" & " " & toKanji(N Mod 10000)
Case 7
kanji = "nana-man" & " " & toKanji(N Mod 10000)
Case 8
kanji = "hachi-man" & " " & toKanji(N Mod 10000)
Case 9
kanji = "kyu-man" & toKanji(N Mod 10000)
Case Else
kanji = ""
End Select
Case 6
Select Case N \ 100000
Case 1
kanji = "ju" & " " & toKanji(N Mod 100000)
Case 2
kanji = "ni-ju" & " " & toKanji(N Mod 100000)
Case 3
kanji = "san-ju" & " " & toKanji(N Mod 100000)
Case 4
kanji = "yon-ju" & " " & toKanji(N Mod 100000)
Case 5
kanji = "go-ju" & " " & toKanji(N Mod 100000)
Case 6
kanji = "roku-ju" & " " & toKanji(N Mod 100000)
Case 7
kanji = "nana-ju" & " " & toKanji(N Mod 100000)
Case 8
kanji = "hachi-ju" & " " & toKanji(N Mod 100000)
Case 9
kanji = "kyu-ju" & toKanji(N Mod 100000)
Case Else
kanji = ""
End Select
Case 7
Select Case N \ 1000000
Case 1
kanji = "hyaku" & " " & toKanji(N Mod 1000000)
Case 2
kanji = "ni-hyaku" & " " & toKanji(N Mod 1000000)
Case 3
kanji = "sanbyaku" & " " & toKanji(N Mod 1000000)
Case 4
kanji = "yon-hyaku" & " " & toKanji(N Mod 1000000)
Case 5
kanji = "go-hyaku" & " " & toKanji(N Mod 1000000)
Case 6
kanji = "roku-hyaku" & " " & toKanji(N Mod 1000000)
Case 7
kanji = "nana-hyaku" & " " & toKanji(N Mod 1000000)
Case 8
kanji = "happyaku" & " " & toKanji(N Mod 1000000)
Case 9
kanji = "kyu-hyaku" & toKanji(N Mod 1000000)
Case Else
kanji = ""
End Select
Case 8
Select Case N \ 10000000
Case 1
kanji = "sen" & " " & toKanji(N Mod 10000000)
Case 2
kanji = "ni-sen" & " " & toKanji(N Mod 10000000)
Case 3
kanji = "sanzen" & " " & toKanji(N Mod 10000000)
Case 4
kanji = "yon-sen" & " " & toKanji(N Mod 10000000)
Case 5
kanji = "go-sen" & " " & toKanji(N Mod 10000000)
Case 6
kanji = "roku-sen" & " " & toKanji(N Mod 10000000)
Case 7
kanji = "nana-sen" & " " & toKanji(N Mod 10000000)
Case 8
kanji = "hachi-sen" & " " & toKanji(N Mod 10000000)
Case 9
kanji = "kyu-sen" & toKanji(N Mod 10000000)
Case Else
kanji = ""
End Select
Case 9
Select Case N \ 100000000
Case 1
kanji = "ichi-oku" & " " & toKanji(N Mod 100000000)
Case 2
kanji = "ni-oku" & " " & toKanji(N Mod 100000000)
Case 3
kanji = "san-oku" & " " & toKanji(N Mod 100000000)
Case 4
kanji = "yon-oku" & " " & toKanji(N Mod 100000000)
Case 5
kanji = "go-oku" & " " & toKanji(N Mod 100000000)
Case 6
kanji = "roku-oku" & " " & toKanji(N Mod 100000000)
Case 7
kanji = "nana-oku" & " " & toKanji(N Mod 100000000)
Case 8
kanji = "hachi-oku" & " " & toKanji(N Mod 100000000)
Case 9
kanji = "kyu-oku" & toKanji(N Mod 100000000)
Case Else
kanji = ""
End Select
Case 10
Select Case N \ 1000000000
Case 1
kanji = "ju" & " " & toKanji(N Mod 1000000000)
Case 2
kanji = "ni-ju" & " " & toKanji(N Mod 1000000000)
Case 3
kanji = "san-ju" & " " & toKanji(N Mod 1000000000)
Case 4
kanji = "yon-ju" & " " & toKanji(N Mod 1000000000)
Case 5
kanji = "go-ju" & " " & toKanji(N Mod 1000000000)
Case 6
kanji = "roku-ju" & " " & toKanji(N Mod 1000000000)
Case 7
kanji = "nana-ju" & " " & toKanji(N Mod 1000000000)
Case 8
kanji = "hachi-ju" & " " & toKanji(N Mod 1000000000)
Case 9
kanji = "kyu-ju" & toKanji(N Mod 1000000000)
Case Else
kanji = ""
End Select
Case 11
Select Case N \ 10000000000
Case 1
kanji = "hyaku" & " " & toKanji(N Mod 10000000000)
Case 2
kanji = "ni-hyaku" & " " & toKanji(N Mod 10000000000)
Case 3
kanji = "sanbyaku" & " " & toKanji(N Mod 10000000000)
Case 4
kanji = "yon-hyaku" & " " & toKanji(N Mod 10000000000)
Case 5
kanji = "go-hyaku" & " " & toKanji(N Mod 10000000000)
Case 6
kanji = "roku-hyaku" & " " & toKanji(N Mod 10000000000)
Case 7
kanji = "nana-hyaku" & " " & toKanji(N Mod 10000000000)
Case 8
kanji = "happyaku" & " " & toKanji(N Mod 10000000000)
Case 9
kanji = "kyu-hyaku" & toKanji(N Mod 10000000000)
Case Else
kanji = ""
End Select
Case 12
Select Case N \ 100000000000
Case 1
kanji = "sen" & " " & toKanji(N Mod 100000000000)
Case 2
kanji = "ni-sen" & " " & toKanji(N Mod 100000000000)
Case 3
kanji = "sanzen" & " " & toKanji(N Mod 100000000000)
Case 4
kanji = "yon-sen" & " " & toKanji(N Mod 100000000000)
Case 5
kanji = "go-sen" & " " & toKanji(N Mod 100000000000)
Case 6
kanji = "roku-sen" & " " & toKanji(N Mod 100000000000)
Case 7
kanji = "nana-sen" & " " & toKanji(N Mod 100000000000)
Case 8
kanji = "hassen" & " " & toKanji(N Mod 100000000000)
Case 9
kanji = "kyu-sen" & toKanji(N Mod 100000000000)
Case Else
kanji = ""
End Select
Case 13
Select Case N \ 1000000000000
Case 1
kanji = "itcho" & " " & toKanji(N Mod 1000000000000)
Case 2
kanji = "ni-cho" & " " & toKanji(N Mod 1000000000000)
Case 3
kanji = "san-cho" & " " & toKanji(N Mod 1000000000000)
Case 4
kanji = "yon-cho" & " " & toKanji(N Mod 1000000000000)
Case 5
kanji = "go-cho" & " " & toKanji(N Mod 1000000000000)
Case 6
kanji = "roku-cho" & " " & toKanji(N Mod 1000000000000)
Case 7
kanji = "nana-cho" & " " & toKanji(N Mod 1000000000000)
Case 8
kanji = "hatcho" & " " & toKanji(N Mod 1000000000000)
Case 9
kanji = "kyu-cho" & toKanji(N Mod 1000000000000)
Case Else
kanji = ""
End Select
Case 14
Select Case N \ 10000000000000
Case 1
kanji = "ju" & " " & toKanji(N Mod 10000000000000)
Case 2
kanji = "ni-ju" & " " & toKanji(N Mod 10000000000000)
Case 3
kanji = "san-ju" & " " & toKanji(N Mod 10000000000000)
Case 4
kanji = "yon-ju" & " " & toKanji(N Mod 10000000000000)
Case 5
kanji = "go-ju" & " " & toKanji(N Mod 10000000000000)
Case 6
kanji = "roku-ju" & " " & toKanji(N Mod 10000000000000)
Case 7
kanji = "nana-ju" & " " & toKanji(N Mod 10000000000000)
Case 8
kanji = "hachi-ju" & " " & toKanji(N Mod 10000000000000)
Case 9
kanji = "kyu-ju" & toKanji(N Mod 10000000000000)
Case Else
kanji = ""
End Select
Case 15
Select Case N \ 100000000000000
Case 1
kanji = "hyaku" & " " & toKanji(N Mod 100000000000000)
Case 2
kanji = "ni-hyaku" & " " & toKanji(N Mod 100000000000000)
Case 3
kanji = "sanbyaku" & " " & toKanji(N Mod 100000000000000)
Case 4
kanji = "yon-hyaku" & " " & toKanji(N Mod 100000000000000)
Case 5
kanji = "go-hyaku" & " " & toKanji(N Mod 100000000000000)
Case 6
kanji = "roku-hyaku" & " " & toKanji(N Mod 100000000000000)
Case 7
kanji = "nana-hyaku" & " " & toKanji(N Mod 100000000000000)
Case 8
kanji = "happyaku" & " " & toKanji(N Mod 100000000000000)
Case 9
kanji = "kyu-hyaku" & toKanji(N Mod 100000000000000)
Case Else
kanji = ""
End Select
Case 16
Select Case N \ 1000000000000000
Case 1
kanji = "sen" & " " & toKanji(N Mod 1000000000000000)
Case 2
kanji = "ni-sen" & " " & toKanji(N Mod 1000000000000000)
Case 3
kanji = "sanzen" & " " & toKanji(N Mod 1000000000000000)
Case 4
kanji = "yon-sen" & " " & toKanji(N Mod 1000000000000000)
Case 5
kanji = "go-sen" & " " & toKanji(N Mod 1000000000000000)
Case 6
kanji = "roku-sen" & " " & toKanji(N Mod 1000000000000000)
Case 7
kanji = "nana-sen" & " " & toKanji(N Mod 1000000000000000)
Case 8
kanji = "hassen" & " " & toKanji(N Mod 1000000000000000)
Case 9
kanji = "kyu-sen" & toKanji(N Mod 1000000000000000)
Case Else
kanji = ""
End Select
Case Else
End Select
Return kanji
End Function
Private Sub TextBox1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
Try
Dim dnum As ULong
dnum = TextBox1.Text
If dnum = 0 Then
Label1.Text = "rei"
Else
Label1.Text = toKanji(dnum)
End If
Catch ex As Exception
MsgBox("enter an integer up to 16 digits , text length : " & TextBox1.Text.Length())
End Try
End Sub
End Class
-
Nov 15th, 2017, 02:24 PM
#2
Re: translation vb.net to c# for counter program
Not sure why... it's a simple switch statement in C#
Code:
public string toKanji(N as ULong) {
string kanji = "enter a number";
Switch N.ToString.Length() {
case 1: kanji = "ichi"; break;
case 4: kanji = "ni"; break;
case 5: kanji = "san"; break;
case 6: kanji = "yon"; break;
...
default: kanji = string.empty;
}
return kanji;
}
Ah... I see it's a case in a case... easy... switch in a switch...
Code:
public string toKanji(N as ULong) {
string kanji = "enter a number";
Switch N.ToString.Length() {
case 1: {
switch N {
case 1: kanji = "ichi"; break;
case 4: kanji = "ni"; break;
case 5: kanji = "san"; break;
case 6: kanji = "yon"; break;
...
default: kanji = string.empty;
}}
case 2: {
switch N / 10 {
...}}
}
return kanji;
}
-tg
disclaimer - typed freehand, there may be errors, watch the brackets...
-
Nov 16th, 2017, 12:26 AM
#3
Thread Starter
Banned
Re: translation vb.net to c# for counter program
I am getting an error with using System.Math
-
Nov 16th, 2017, 01:57 AM
#4
Re: translation vb.net to c# for counter program
If only there was a way for us to know what the error actually was, rather than just that it occurs. Show us your actual C# code and tell us what the error message is and where it occurs. My guess would be that you've put the namespace import in the wrong place but that is only a guess based on the limited information provided.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|