怎么在vb中输出固定小数位数的数字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在vb中输出固定小数位数的数字?相关的知识,希望对你有一定的参考价值。

比如输出固定是两个小数的数字?

方法一:

用Round函数,语法 :

ROUND(number,num_digits) 

Number 需要进行四舍五入的数字。 Num_digits 指定的位数,按此位数进行四舍五入。

示例:

'Round(需要修改的数字,小数位数)

Print Round(3.1415926, 3)

显示:3.142


方法二:

用Format函数,返回Variant(String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。

语法

Format(expression[,format[,firstdayofweek[,firstweekofyear]]])

Format函数的语法具有下面几个部分:


示例:

'Round(需要修改的数字,小数位数)

Print format (3.1415926, "#,###")

显示:3.142


方法三:

1、打开VB6.0软件,新建一个标准exe工程;

2、在设计界面上新建一个Command控件;

3、双击Command1控件,进入代码编辑界面,输入代码:

Private Sub Command1_Click()
Dim res As Double
res = Format(1 / 3, "0.000")
Print res;
End Sub


4、运行工程,单击按钮,可以看到数据被保留三位小数;


5、总结,想要保留几位小数,直接设置即可,如想设置保留5位小数,设置如下:

format(1/3,"0.00000")

参考技术A

print format(a,"0.00")

这样变量a的值无论它有几位小数,打印出来只保留两位小数。

digits+vpa 方法该方法是用digits()设定运算精度,然后用vpa获得所要的小数位数。该方法可以达到获取需要的任意位小数,但弊端很多

运算精度里包含了整数部分,所以需要提取整数部分和分数部分,并计算整数部分的位数,以下程序中求len就是整数位数。获得的结果是符号型,符号型的运算速度要比数值慢上很多。

format long

a = input('please give a number which will be changed£º');

n = input('how many decimal digits will you keep: ');

num = floor(a);

str = num2str(num);

len = length(str);

err = a-num; % 获取小数部分

digits(n+len); % 此处为需要的小数位 + 整数位数

need_num = num+vpa(err,n+len); %%%% 获得按要求保留的小数,但获得的是符号性

need_str = num2str(double(need_num)) %%%%% 符号型转浮点型,再转字符型

运行结果:

please give a number which will be changed:3.1415926

how many decimal digits will you keep: 2

need_str =3.14


扩展资料:

系统结构

MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成。

开发环境

MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的 用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。

数学函数

MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。

语言

MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。

图形处理

图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。

程序接口

MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言进行交互的函数库。

该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。

参考资料:百度百科-MATLAB

参考技术B 用format函数。

Format 函数返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法

Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
Format 函数的语法具有下面几个部分:

部分说明
expression

必要参数。任何有效的表达式。
format

可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek
可选参数。常数,表示一星期的第一天。
firstweekofyear
可选参数。常数,表示一年的第一周。
设置值
firstdayofweek 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
VbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数有下面设置:

常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。
vbFirstFourDays 2 从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek 3 从本年第一周开始,而此周完全在本年中。
说明
格式化 作法
数字 使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间 使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数 使用日期和时间格式或数值格式。
字符串 创建自定义的字符串格式。

如果在格式化数字时没有指定 format,Format 会提供与 Str

函数类似的功能,尽管它是国际化的。

Format 函数示例

本示例显示用 Format
函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及 AM/ PM
等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为
English/United States。

MyTime 及 MyDate 在开发环境下,使用系统的短日期设置显示出来的。
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#

' 以系统设置的长时间格式返回当前系统时间。
MyStr = Format(Time, "Long Time")

' 以系统设置的长日期格式返回当前系统日期。
MyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s") ' 返回 "17:4:23"。
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' 返回 "05:04:23 PM"。
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' 返回 "Wednesday, Jan 27 1993"。
' 如果没有指定格式,则返回字符串。
MyStr = Format(23) ' 返回 "23"。

' 用户自定义的格式。
MyStr = Format(5459.4, "##,##0。00") ' 返回 "5,459.40"。
MyStr = Format(334。9, "###0。00") ' 返回 "334.90"。
MyStr = Format(5, "0。00%") ' 返回 "500.00%"。
MyStr = Format("HELLO", "<") ' 返回 "hello"。
MyStr = Format("This is it", ">") ' 返回 "THIS IS IT"。
参考技术C print format(a,"0.00")

这样变量a的值无论它有几位小数,打印出来只保留两位小数。本回答被提问者采纳
参考技术D 可以使用format()语句。format(data,"#.000")
data:变量,"#.000":0的个数表示小数点后有效位数。

C语言中输出时怎样控制小数点后的位数,请举例说明保

举例说明如下:

#include <iostream>
#include <iomanip>
using namespace std;

int main( void )

const double value = 12.3456789;

cout << value << endl; // 默认以6精度,所以输出为 12.3457
cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
cout << setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679
cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
cout << value << endl; // fixed和setprecision的作用还在,依然显示12.3457
cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35
cout << value << endl;
cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
cout << value << endl;

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

参考技术A

举例说明如下:

#include <stdio.h>
int main()

    double pi=3.1415926456789565;
printf("%.2f\\n",pi);  //保留小数点后2位
printf("%.6f\\n",pi);  //保留小数点后6位
printf("%.15f\\n",pi); //保留小数点后15位
    return 0;

运行结果:

3.14

3.141593

3.141592645678957

参考技术B #include<stdio.h>
int main(void)
float i = 12.0;
printf("%f\\n", i);
printf("%.1f\\n", i);
printf("%.2f\\n", i);
printf("%.3f\\n", i);
printf("%.4f\\n", i);
printf("%.5f\\n", i);
printf("%.6f\\n", i);
printf("%.7f\\n", i);
printf("%.8f\\n", i);
printf("%.9f\\n", i);
printf("%.10f\\n", i);
printf("%.11f\\n", i);
printf("%.12f\\n", i);

return 0;

运行结果:

12.000000

12.0

12.00

12.000

12.0000

12.00000

12.000000

12.0000000

12.00000000

12.000000000

12.0000000000

12.00000000000

12.000000000000

printf("%f\\n", i);在普通输出控制格式字符的%和f中间加“.#”(其中#为小数点位数)

以上是关于怎么在vb中输出固定小数位数的数字?的主要内容,如果未能解决你的问题,请参考以下文章

vb保留小数点后2位怎么编写?

cout 输出固定位数的有效数字

java中如何控制输出数字位数

MATLAB中保留小数点位数问题

vb6中双数据类型小数点后允许的最大位数

请问java生成任意位数的随机数