怎样在VB中定义一个和Pascal中Real一样的数据类型 要移植Pascal程序,其中所有实数类型几乎都是Real,不管用Single,还是Double和原先Pascal程序出来的结果都有较大误差。请问怎么定义一个实数数据类型,正数包含12位有效数字,负数包含11位有效数字。多出部分四舍五入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果对精度要求特别高的话,可以考虑用字符串(类似于超大数运算),另一个思路是把程序先移埴到delphi上,生成dll供vb调用(如果一定要用vb的话) 他要的是浮点运算,超大数除法一般是获得商和余数。楼主为什么不看看PASCAL对REAL的定义是怎么样的,占几个BYTE,再看和VB里哪种浮点类型最接近,就用哪种吧。移植可不仅仅是变量的事情,你的代码部分才是关键。 Currency 数据类型 Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。这种表示法的范围可以从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。Currency 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。----------------------------------------------------------------------------------Single 数据类型 Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。-----------------------------------------------------------------------------------Double 数据类型 Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486232E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308。Double 的类型声明字符是数字符号 (#)。------------------------------------------------------你比较了一下,看哪种比较符合你的要求,然后用Round函数进行四舍五入********************************Round函数 描述返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。语法Round(expression [,numdecimalplaces])Round函数语法有如下几部分:部分 描述 expression 必需的。要进行四舍五入运算的数值表达式。 numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。 VB中的正则表达式问题 文本框text内容该如何转换? ado 开发简单问题 用API能不能屏蔽windows键? 使用哪种锁可让其他客户端无法提取我已提取的记录 在线等待--100分 求vb6.0的录音程序源代码 如何实现分组查询? 关于如何在编译代码的时候把OCX的代码编译进.exe文件里 One more question about Access & VB ◆◆欢迎讨论◆◆:我看vb论坛的现状,有什么话尽管说!! 高分在线等 VB中对字符串的操作
楼主为什么不看看PASCAL对REAL的定义是怎么样的,占几个BYTE,再看和VB里哪种浮点类型最接近,就用哪种吧。移植可不仅仅是变量的事情,你的代码部分才是关键。
----------------------------------------------------------------------------------
Single 数据类型 Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。
-----------------------------------------------------------------------------------
Double 数据类型 Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486232E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308。Double 的类型声明字符是数字符号 (#)。
------------------------------------------------------
你比较了一下,看哪种比较符合你的要求,然后用Round函数进行四舍五入********************************
Round函数 描述返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。语法Round(expression [,numdecimalplaces])Round函数语法有如下几部分:部分 描述
expression 必需的。要进行四舍五入运算的数值表达式。
numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。