我有一个十进制数据类型。
我得到的格式有多种格式,如25或25.00。
如何检查给定十进制数中的小数点是否为presnet?
如果不存在,我必须在号码上添加.00。
答案 0 :(得分:4)
这有点像黑客,但我相信这无条件地做你想要的事情:
decimal twoDp = decimal.Round((original / 100) * 100, 2);
这对我来说当然有用:
using System;
class Test
{
static void Main(string[] args)
{
ShowRounded(25m);
ShowRounded(25.0m);
ShowRounded(25.00m);
ShowRounded(25.000m);
}
static void ShowRounded(decimal d)
{
Console.WriteLine(decimal.Round((d / 100) * 100, 2));
}
}
或者,如果这只是 用于显示:
string formatted = value.ToString("0.00");
或以货币形式显示当前的文化设置:
string formatted = value.ToString("c");
答案 1 :(得分:1)
您正在以多种格式“获取价值”。换句话说你得到了字符串?我不确定你最终要求的是什么,但是如果你想将数字格式化为货币,你可以这样做:
decimal d = 25;
Console.WriteLine("{0:c}", d);
string d2 = "$25";
Console.WriteLine("{0:c}", decimal.Parse(d2, NumberStyles.Currency));
string d3 = "$25.00";
Console.WriteLine("{0:c}", decimal.Parse(d3, NumberStyles.Currency));