如何删除C#中的值之后的小数位?

时间:2012-04-21 08:02:10

标签: string c#-4.0 decimal

让我有14.8447的十进制值,我需要在字符串中使用此值8447

任何人都可以使用窗体C#找到任何方法。

3 个答案:

答案 0 :(得分: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".

这是short online version at Ideone.com

答案 1 :(得分:0)

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

答案 2 :(得分:0)

可能是这样:

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

我很容易猜到;