6

私は数学を悪用しているかもしれません... しかし、0.7000123 と書かれた数値では、"123" を取得する必要があります。つまり、数値の小数部分の最後の 3 桁を抽出する必要があります。最初の数桁がほとんどの人が必要とする場合の最下位桁。

例:

0.7500123 -> 123  
0.5150111 -> 111

それは常に数字の 5 から始まります。そして、はい、私は秘密情報をこの数字の内部に格納しています。数字の使用方法に影響を与えない 10 進数の部分です。これは潜在的に邪悪な部分です。しかし、それは私が抱えている特定の問題を回避するための最良の方法です.

数学または文字列操作がこれを行うための最も危険な方法であるかどうか疑問に思っています。

一度呼び出しているので、パフォーマンスはまったく問題ではありません。

誰でもこれを行う簡単な数学的方法を見ることができますか? たとえば、.NET での数学関数の組み合わせ (見逃した) はありますか?

4

4 に答える 4

5

確かにそれは奇妙な要求です。しかし、最後の 3 桁の int 値を取得する 1 つの方法は次のようになります。

int x = (int)((yourNumber * 10000000) % 1000);

探している情報をよりクリーンに取得するためのより良い方法があると思いますが、あなたが求めていることを考えると、これはうまくいくはずです.

于 2013-04-22T03:50:17.620 に答える
3

最初に番号を文字列に変換します。

string s = num.ToString();


string s1 =  s.Substring(s.Length - 3, 3);

s1 には番号の下 3 桁が含まれるようになりました

于 2013-04-22T04:22:35.323 に答える
0

これを試して:

    string value= "0.1234567";
    string lastthreedigit= value.Substring(value.Length - 3);
于 2013-04-22T04:26:38.247 に答える