我有一个小数变量类型,想检查小数点前后的位数。
我已经对数字进行了四舍五入并计算了整数的位数,但我不确定如何解决这个问题,我该怎么办?例如345.65应该返回**小数点前3位,小数点后2位**。
将
value
变成string
,找到小数点分隔符(.IndexOf
)的位置并计算:
using System.Globalization;
...
var value = 345.65;
string text = Math.Abs(value).ToString(CultureInfo.InvariantCulture);
int position = text.IndexOf('.');
int before = position >= 0 ? position : text.Length;
int after = position >= 0 ? text.Length - position - 1: 0;
// Let's have a look
Console.WriteLine($"{value}, before: {before}, after: {after}");
输出:
345.65, before: 3, after: 2