0

の10進値を取得し、14.8447この値8447を文字列に含める必要があります。

ウィンドウフォームC#を使用して、誰かが私のための方法を見つけることができますか?

4

3 に答える 3

2

次のようなものを使用できます。

decimal d = 14.8447m;
string s = d.ToString(CultureInfo.InvariantCulture);
string t = s.Substring( s.IndexOf('.')+1);

(私のコードはちょっとしたハックだと思いますが)

もう少しエラーを防ぐために、次のように書くことができます。

decimal d = 14.8447m;
string s = d.ToString(CultureInfo.InvariantCulture);

int index = s.IndexOf('.');
string t = index >= 0 && index + 1 < s.Length
       ? s.Substring(index + 1)
       : string.Empty;

これは、たとえば次の数値でうまく機能します。

decimal d = 14m; // Returning empty string.
decimal d = .3m; // Returning "3".

これがIdeone.comの短いオンラインバージョンです。

于 2012-04-21T08:03:39.880 に答える
0

string.Format("{0:0.0000}", 14.8447m).Split(',', '.').Last()

于 2012-04-21T08:15:56.903 に答える
0

そうかもしれません:

decimal Numero = 8.24M;
string r = (Numero - Math.Floor(Numero)).ToString().Replace("0.", "");

簡単だと思います。

于 2012-04-21T08:19:48.863 に答える