0

让我有十进制值,14.8447我需要8447字符串中的这个值。

任何人都可以使用 Windows Forms 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 回答