レジのように動作するプログラムを C# で作成しようとしていますが、ユーザーが小数点以下 2 桁を超える数値を入力できないようにしたい = x.12 は問題ありませんが、x.123 は問題ありません
すべての回答に感謝します。
編集:コード例は大いに役立ちます。私はプログラミングも英語も苦手です。=)
レジのように動作するプログラムを C# で作成しようとしていますが、ユーザーが小数点以下 2 桁を超える数値を入力できないようにしたい = x.12 は問題ありませんが、x.123 は問題ありません
すべての回答に感謝します。
編集:コード例は大いに役立ちます。私はプログラミングも英語も苦手です。=)
NumericUpDownコントロールを使用して入力をキャプチャし、そのDecimalPlacesプロパティを2に設定します。
小数点以下を 2 桁に丸めることができます。
decimal a = 1.994444;
Math.Round(a, 2);
入力を文字列に変換し、その長さを確認します(多くの解決策の1つ)。
例:
void checkLenghth()
{
decimal value = 2.15;
string stringDecimal = value.ToString();
string[] splitStrings = stringDecimal.Split('.');
if (splitStrings[1] > 3)
MessageBox("Its wrong!");
}
これは単なるオリエンテーションの例であり、私はそれがそのように正確に実装されなければならないと言っているわけではありません(批評家のために:))
正規表現を使用して入力をテストできます。以下の例では、入力が少なくとも 1 桁で構成されている必要があります。オプションで、その後に小数点以下の桁が続き、さらに 1 桁または 2 桁の数字が続きます。
string number = "1.23";
bool isMatch = Regex.IsMatch(number, @"^\d+(\.\d{1,2})?$");