- 积分
- 4654
- 明经币
- 个
- 注册时间
- 2005-2-7
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2005-4-19 09:22:00
|
显示全部楼层
数位长度(包括小数点)在17位之内,用rtos和read不会丢失信息,如要对一个数保留8位小数:
(setq a (read (rtos 123.123456789 2 8))) ,
用编辑器中的"检验"工具或在命令行执行此表达式,将返回123.123,看似丢失了信息,其实是显示的问题.它受系统变量DIMDEC影响,将DIMDEC值设得高些,就会显示的多些,而系统内部保存的仍然是8位小数,不信可做以下测试:
(rtos a 2 8),将返回123.12345678,
可见仍然是8位小数.包括系统在运算过程中都是按规定的位数运算.但数位超过17,就会丢失信息,要另想办法,版主已有这个函数 |
|