社区
VFP
帖子详情
数字转化为字符串[str],再还原回来[val], 会损失精度。怎样避免?
孩皮妞野
2003-12-28 06:07:19
如:
a = 1234.56789
b = str(a)
c = val(b)
?a
?c
...全文
78
8
打赏
收藏
数字转化为字符串[str],再还原回来[val], 会损失精度。怎样避免?
如: a = 1234.56789 b = str(a) c = val(b) ?a ?c
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
孩皮妞野
2003-12-30
打赏
举报
回复
谢谢 xiolig(凌霄)。
xiolig
2003-12-29
打赏
举报
回复
SORRY,进一步的测试表明,DECIMALS设置影响的仍然仅仅是显示结果。
验证方法:
b = "1234.56789"
SET DECIMALS TO
c2 = VAL(b)
SET DECIMALS TO 5
c5 = VAL(b)
SET FIXED OFF
?c2,c5,c2=c5
SET FIXED ON
?c2,c5,c2=c5
xiolig
2003-12-29
打赏
举报
回复
谢谢楼主,原来VAL函数居然要受DECIMALS设置的影响:
a = 1234.56789
b = TRANSFORM(a) &&比STR更方便
SET DECIMALS TO 5
c = VAL(b)
?c
孩皮妞野
2003-12-29
打赏
举报
回复
另外: foxpro在调用过程时如何向其传递参数?过程中怎样使用这个参数?
孩皮妞野
2003-12-29
打赏
举报
回复
Jaxi_sky(sky), 不行。 你说的是set deci to 吗? set deci to 也不行。
Jaxi_sky
2003-12-29
打赏
举报
回复
可以设置小数点的位数
用set numeric to 5来进行,就可以了
孩皮妞野
2003-12-28
打赏
举报
回复
cxmcxm, 谢谢你的回复!
a->b没有损失精度。可以用
?b
来查看和验证。说白了就是val在把字符串转化为数字时会自动四舍五入。
问题是
1. 是否可以关闭自动四舍五入的默认行为?
2. 或者是否有别的不进行舍入的转换函数?
cxmcxm
2003-12-28
打赏
举报
回复
b=str(a,10,5)
c=val(b)
16进制与10进制浮点数相互转换
这个函数通过`CopyMemory` API函数将浮点数的二进制表示复制到字节数组,然后再将字节数组转换为16进制
字符串
。反向转换,即16进制到10进制浮点数,同样需要自定义函数: ```vb Function HexToFloat(By
Val
hex
Str
...
Android
字符串
与16进制互转方法详解
这些内容为后续章节中
字符串
与十六进制的实际转换操作打下了坚实的理论基础。方法优点缺点适用场景
Str
ingBuilder拼接灵活、可读性好性能一般通用转换、调试日志等简洁、易用需手动补零基础转换。
Python中
字符串
转整数的完整方法与实战技巧
无论是从用户界面获取输入、解析配置文件内容,还是处理来自API或数据库的数据流,开发者几乎不可
避免
地
会
遇到将
字符串
转换为整数的需求。虽然Python提供了简洁直观的 int() 函数来完成这一任务,但其背后隐藏着一...
高效JSON
字符串
查看与格式化工具实战应用
它基于键值对的嵌套结构,支持对象({})和数组([])两种复合类型,以及
字符串
、数值、布尔值、null等基本数据类型,具备良好的可读性与机器解析效率。其语法简洁、易于生成与解析,已成为Web API通信中最主流的...
易语言文本与双
精度
数转换的汇编实现探究
浮点数主要分为两类:单
精度
(32位)和双
精度
(64位),它们在IEEE 754标准中有明确的定义。单
精度
浮点数由1位符号位、8位指数位和23位尾数位组成,而双
精度
浮点数由1位符号位、11位指数位和52位尾数位组成。这种...
VFP
2,749
社区成员
29,140
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章