回 帖 发 新 帖 刷新版面

主题:取小数点后几位

请问各位大侠,QB中用什么命令实现取小数点后几位,如取小灵数点后三位.谢谢.

回复列表 (共4个回复)

沙发

我也不知道QB有没有现成的函数可以用!

但是你可以自己写四舍五入算法来实现呀!

板凳

FUNCTION SIWU# (A#, B%) '四舍五入#(原始数#,保留位数%)

C$ = STR$(A#)

IF INSTR(1, C$, ".") > 0 THEN

        IF LEN(C$) - INSTR(1, C$, ".") > B% AND VAL(MID$(C$, INSTR(1, C$, ".") + B% + 1, 1)) > 4 THEN SIWU# = VAL(LEFT$(C$, INSTR(1, C$, ".") + B%)) + 10 ^ -B% ELSE SIWU# = VAL(LEFT$(C$, INSTR(1, C$, ".") + B%))

   ELSE

        SIWU# = A#

END IF

END FUNCTION




记得加分哦

3 楼

input a#
do while a#
   b&=10^3
   c&=a#*b&
   a#=c&/b&
   print a#
   input a#
loop

个人看法是,这些情况一般都是需要拿来当字符串使用的,
比如是字符长度啦,右对齐啦,小数点定位啦。
因为QB没有针对字符串操作的using
通过文件或者屏幕来做其实会是比较方便一点点的:

FUNCTION valstr$(A#, B%)
f$="~tmp.tmp"
f%=freefile
open f$ for output as #f%
print #f%,using "###########."+string$(b%,"#");a#
close #f%
open f$ for input as #f%
input #f%,r$
close #f%
kill f$
valstr$=r$
END FUNCTION

4 楼

int(a*10^n+05)/10^n
a为实数,n为小数位数。

我来回复

您尚未登录,请登录后再回复。点此登录或注册