これは私のコードです -
private void button1_Click(object sender, EventArgs e)
{
double number =Convert.ToDouble( textBox1.Text);
string s = (Math.Round(number, 3)*1000).ToString();
int norm=1;
for(int i=0;i<=s.Length-1;i++)
{
norm*=10;
}
label1.Text =Math.Round((Convert.ToDouble(s)/norm),3).ToString() ;
}
これにより、実際には 21234,34532 から 2,123、または 75898331 から 7,589 (理論上) などの数値が得られるはずです。75898331 を試してみると、(24.328) という予期しない結果が得られました。誰かが私が台無しにした場所を教えてもらえますか? このような大きな数を処理するには、Double では十分ではありません。