gpt4 book ai didi

c# - 通过查看字节来检查 decimal 是否包含小数位

转载 作者:太空狗 更新时间:2023-10-29 23:59:08 24 4
gpt4 key购买 nike

here中也有类似的问题.有时该解决方案会给出异常(exception)情况,因为数字可能很大。

我认为如果有一种方法可以查看十进制数的字节,那将会更有效率。例如,十进制数必须由 n 个字节数表示。例如,一个 Int32 由 32 位表示,所有以 1 位开头的数字都是负数。也许与十进制数字有某种类似的关系。您如何查看十进制数的字节?还是整数的字节数?

最佳答案

如果您真的在谈论十进制 数(相对于 float ),那么Decimal.GetBits将使您查看小数的各个位。 MSDN 页面还包含对位含义的描述。

另一方面,如果你只是想检查一个数字是否有小数部分,做一个简单的

var hasFractionalPart = (myValue - Math.Round(myValue) != 0)

比解码二进制结构容易。这应该适用于小数以及经典的 float 据类型,例如 floatdouble。在后一种情况下,由于浮点舍入误差,检查 Math.Abs(myValue - Math.Round(myValue)) < someThreshold 可能有意义。而不是与 0 进行比较.

关于c# - 通过查看字节来检查 decimal 是否包含小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com