有没有人能就如何在VB.net中从双精度数中获取尾数和指数提供一些建议?我知道我可以做一个字符串解析和一些到int的转换,但我想知道是否有人有一个数学等价的公式可以让我这样做?
非常感谢
发布于 2010-10-18 17:03:58
你想得到IEEE-754值中的“本地”尾数和指数吗?这实际上相当简单:使用BitConverter.DoubleToInt64Bits
获取整数形式的值(这更容易执行位操作),然后查看我的article on .NET binary floating point types了解位在哪里。
我有一些C# code,它提取各个部分,以便将其转换为精确的十进制表示-您可以相当容易地将其相关位转换为VB。
发布于 2014-11-04 09:12:36
你应该试试这个:
Public Function DeclString(ByVal dDegrees As Double) As String
Dim Flag As String
Dim ddecimal As Double
Dim iDegrees As Integer
If dDegrees < 0 Then Flag = "S" Else Flag = "N"
iDegrees = Int(Abs(dDegrees))
ddecimal = (Abs(dDegrees) - iDegrees) * 60 ' + 0.5
If ddecimal > 59.5 Then iDegrees = iDegrees + 1: ddecimal = 0
DeclString = Format$(iDegrees, "00") + Flag + Format$(ddecimal, "00")
End Function
https://stackoverflow.com/questions/3957691
复制相似问题