/ /ヘブライ文字を使用して数値を文字列に変換する - c#、windows、windows-phone、windows-phone-8.1、グローバリゼーション

ヘブライ文字を使用して数値を文字列に変換する - c#、windows、windows-phone、windows-phone-8.1、グローバリゼーション

これはおそらく簡単なものです(それは愚か者かもしれません)が、私はこれに答えることができません - ヘブライ文字を使って番号を印刷する方法は?

私はアプリ言語を変更しようとしました、そして/またはフォーマットプロバイダを使用しようとしました:

myTextBox.Text = 555.ToString(new System.Globalization.CultureInfo("he-IL"));

しかし、私はヘブライ文字を手に入れることはできません。

回答:

回答№1の場合は3

ヘブライ語では、英語と同じ数字を使用します。しかし、ヘブライ文字は数字を示すことができます。
ために א それは1であり、 ב 2などである。しかし、あなたが到達した後 י 10で、次の文字は כしかし、それは20の略です。だから11は י"א。 (それは、それが文字の間に "印をつけて、ヘブライ語で書かれたやり方です")。
あなたの次の手紙は30になるので100になるまで、次の手紙は200,300そして最後の手紙は400ですת)。

エジプトのヘブライ語のアルファベットは:
(ヘブライ文字は右から左に書かれていることに注意してください。 א 最初の י 最初の行の最後です)
אבגדהוזחטי(それは1から10までです)
כלמנסעפצ(それは20から90まで)
קרשת(それは100から400まで)

(単語を終わらせるための形式の異なるいくつかのスペース文字がありますが、それらは通常の文字と同じ数値を持っています。たとえば、 ך 手紙を書く方法です כ それが単語の最後の文字であれば、それでも数値の場合は20です)

したがって、600という数字は שש"ש、またはに ש"תまたは600までの合計の文字の任意の組み合わせ。もちろん、これは、あなたがヘブライ文字に数値を翻訳したい場合は、問題を提起する可能性があります。

私はおそらく最短の組み合わせが可能ですので、要求された数にあなたが持っているすべての文字を合計することができるまで再帰的に使用できる最高値の文字をテストしてください。


回答№2については2

Zoharは言うとおり、ほとんどの用途では、ヘブライ語は英語と同じインド・アラビア数字を使用します。あなたが本当にヘブライ文字を使って数字を書きたいと思っているなら、簡単な方法があります:

public static string FormatHebrew(this int num)
{
if(num <= 0)
throw new ArgumentOutOfRangeException();
StringBuilder ret = new StringBuilder(new string ("ת", num / 400));
num %= 400;
if(num >= 100)
{
ret.Append("קרש"[num / 100 - 1]);
num %= 100;
}
switch(num)
{
// Avoid letter combinations from the Tetragrammaton
case 16:
ret.Append("טז");
break;
case 15:
ret.Append("טו");
break;
default:
if (num >= 10)
{
ret.Append("כלמנסעפצי"[num / 10 - 1]);
num %= 10;
}
if(num > 0)
ret.Append ("אבגדהוזחט" [num - 1]);
break;
}
return ret.ToString ();
}

(テキストエディタで文字列を正しく並べ替えるためには、コンパイラに見られるようなソースコードには、より低い順にそれらがあります。良いテキストエディタでは、ヘブライ語が使用する順序と同じように右から左に表示されますが、一部はそれから逆に表示されます)。