我想在C中将double转换为float,但希望尽可能保留小数点而不做任何更改......
例如,假设我有
double d = 0.1108;
double dd = 639728.170000;
double ddd = 345.2345678
Run Code Online (Sandbox Code Playgroud)
现在纠正我,如果我错了,我知道浮点精度大约是点后的5个数字.我可以在双点之后得到那五个数字吗?以上结果如下:
float f = x(d);
float ff = x(dd);
float fff = x(ddd);
printf("%f\n%f\n%f\n", f, ff, fff);
Run Code Online (Sandbox Code Playgroud)
它应该打印
0.1108
639728.17000
345.23456
Run Code Online (Sandbox Code Playgroud)
精度限制之后的所有数字(我假设为5)将被截断.
这不是usedrange问题.
例如,在Excel中,用户使用鼠标选择范围(可能为空),例如B4:C12
并且假设在此之后没有取消选择范围用户按下宏,宏应该告诉B4:C12.
有人能举例吗?
宏应该是以下几点:
Sub showrng()
MsgBox SelectedRange.Address(ReferenceStyle:=xlA1)
End Sub
Run Code Online (Sandbox Code Playgroud) 任何人都可以展示如何在 C 中正确地将二进制表示的数据转换为双精度值。例如,我有 8 个无符号字符值要转换为双精度值(让我们将其命名为缓冲区)。所以buffer[0]的0位是LSB,buffer[7]的7位是MSB。预先非常感谢!
c ×2
binary ×1
binary-data ×1
binaryfiles ×1
c89 ×1
double ×1
excel ×1
excel-2003 ×1
excel-2007 ×1
excel-vba ×1
vba ×1