任何人都可以提供有关如何从VB.net中获取尾数和指数的任何建议吗?我知道我可以做一个字符串解析和一些转换为整数但是我想知道是否有人有一个数学等价公式可以让我这样做?
非常感谢
答案 0 :(得分:2)
您想获得IEEE-754值内的“原生”尾数和指数吗?这实际上相当简单:使用BitConverter.DoubleToInt64Bits
将值作为整数(更容易执行位操作),然后查看我的article on .NET binary floating point types哪些位在哪里。
我有一些C# code提取各个部分,以便将其转换为精确的十进制表示 - 您可以合理地将相关位转换为VB。
答案 1 :(得分:0)
你应该试试这个:
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