当前位置: 首页 > 知识库问答 >
问题:

查找小数点数值中的小数点位数,而不考虑区域性

姚正真
2023-03-14

我想知道是否有一种简洁而准确的方法来提取十进制值中的小数点位数(以int形式),这样在不同的区域性信息中使用是安全的?

例如:
19.0应返回1,
27.5999应返回4,
19.12应返回2,
等。

int priceDecimalPlaces = price.ToString().Split('.').Count() > 1 
                  ? price.ToString().Split('.').ToList().ElementAt(1).Length 
                  : 0;

但我想到,这只适用于使用“.”的区域。作为小数分隔符,因此在不同系统中非常脆弱。

共有1个答案

屈翰飞
2023-03-14

我用Joe的方式来解决这个问题:)

decimal argument = 123.456m;
int count = BitConverter.GetBytes(decimal.GetBits(argument)[3])[2];
 类似资料:
  • 我正在尝试编写一个Python 2.5.4代码来编写一个函数,该函数以浮点数x作为输入,并返回x中小数点后的位数。 这是我的代码: while循环中的print语句仅用于调试目的。 现在,当我运行这段代码时,我得到以下输出。 1 10 1.4159 1 2 100 14.159 14 3 1000 141.59 141 4 10000 1415.9 1415 5 100000 14159.0 14

  • 问题内容: 我似乎在使用浮点数时失去了很多精度。 例如,我需要求解一个矩阵: 这是我用来从文本文件导入矩阵的代码: 我需要使用gauss-seidel进行求解,因此需要重新排列x,y和z的方程式: 这是我用来重新排列方程式的代码。是系数矩阵,是答案向量: 但是,我得到的答案并不精确到小数位。 例如,从上面重新排列第二个方程式后,我应该得到: 我得到的是: 这看起来似乎不是一个大问题,但是当您将数字

  • 问题内容: 我在php变量中有这样的价值 我想要的是删除2位数字后的所有小数点。 像现在变量的值将是 请记住,此值来自mysql databse 但是,当我使用四舍五入但不需要四舍五入时,我只需要删除2位小数后的所有数字即可。 我已经累了,很多其他选择都没有成功。 谢谢 问题答案: PHP本机函数bcdiv似乎可以正确地正确执行所需的操作。 要简单地“截断”一个数字,其中2是要保留的小数位数(而1

  • 问题内容: 我的表中有以下列表。 我怎样才能得到小数点后的位数。 重复?: 我已经检查了现有的帖子,但是没有正确的方法来处理 数字 。 结果 编辑 :花了一些宝贵的时间后,我发现了一些相对简单的脚本来处理此问题。 问题答案: 我找到了一些简单的脚本(相对于我而言)来处理此问题。 此处仅用于处理不带小数部分的浮点数。如果没有没有小数部分的值,那么这很简单 希望对您有帮助。完整脚本如下

  • 谁能告诉我如何在SWIFT中舍入一个双倍值到小数点位数的x位? 我有: 当我打印时,如何将其舍入到1.543?

  • 问题内容: 我有一个Pandas数据框,我想在该数据框中找到所有唯一的值…与行/列无关。如果我有一个10 x 10的数据框,并假设它们具有84个唯一值,则需要找到它们-而不是计数。 我可以创建一个集合并通过遍历数据框的行来添加每行的值。但是,我觉得它可能效率很低(无法证明这一点)。有没有找到它的有效方法?有预定义的功能吗? 问题答案: 小块独特的排序,因此以这种方式更快地进行排序(然后根据需要排序