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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-13

方法一:

用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")

第2个回答  2015-09-29
用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"。
第3个回答  推荐于2017-10-08
print format(a,"0.00")

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

如何在VB中设置精度问题,即是保留小数点后的几位。
方法一:用Round函数,语法 :ROUND(number,num_digits)Number 需要进行四舍五入的数字。 Num_digits 指定的位数,按此位数进行四舍五入。示例:'Round(需要修改的数字,小数位数)Print Round(3.1415926, 3)显示:3.142 方法二:用Format函数,返回Variant(String),其中含有一个表达式,它是根据格式表...

vb是怎样输出保留小数位数的
Print Format(3.1444, "0.000")

vb 保留小数点
Private Sub Command1_Click() Dim a, b, c a = 5 b = 6 c = a * b Print Format(c, ".00")End Sub效果如下:Format函数数字操作相关说明:数字类型的格式化--- 固定格式参数: General Number 普通数字,如可以用来去掉千位分隔号 format$("100,123.12","Gen...

vb保留小数点后2位怎么编写?
VB用Format 函数即可实现。Format 函数,返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。Print Format(3.1415926, "#.##"):表示一个数字位。#的个数决定了显示区段的长度。如果要显示的数值的位数小于格式字符串指定的区段长度,则该数值靠区段的左端显示。如果...

vb程序的fix是什么意思
1. 基础概念:在VB编程中,fix是一个用于格式化的函数。它可以接受一个数字作为输入,然后返回一个具有特定小数位数的字符串形式的结果。这意味着程序员可以控制数字的输出格式,使其符合特定的显示要求。例如,如果需要确保数字具有两位小数,可以使用fix函数来实现这一点。这对于需要精确展示数据的应用场景...

VB如何产生一组在一定范围内一定个数的任意选择保留小数的数
当然是用随机数了.比如产生30~50之间的就可以用Int(Rnd*21+30)得到。保留小数就用Format格式输出函数。比如保留"a"两位小数就是Format(a,"##")。不会再问啊!!

怎样在VB 中Text显示保留两位小数
问题1:Private Sub Command1_Click()Dim x As Single s1 = Val(Text1.Text)s2 = Val(Text2.Text)Text3.Text = s1 + s2 Text4.Text = Format(s2 \/ (s1 + s2) , "0.00")End Sub 问题2:Private Sub Command1_Click()Dim x As Single s1 = Val(Text1.Text)s2 = Val(Text2....

怎么用vb实现在textbox中的数值自动保留4位小数
用vb实现在textbox中的数值自动保留4位小数的方法如下:准备材料:电脑、excel 1、首先先打开电脑界面,然后找到桌面上面的一个表格文件,然后双击这个表格文件。2、然后这个时候就可以打开了这个表格文件。3、在打开的表格界面中,然后点击一个单元格。4、在这个单元格上面右键单击,然后在出现的菜单中,...

bartender中VB如何限定位数
点击“类型”下拉按钮,选择“数字”类型,勾选“显示前导零(S)”,将精度设置为2位小数位(小伙伴们根据自己的需求设置),单击关闭,便可以使BarTender2016保留小数位数。以上就是使BarTender2016保留应有的小数位数的操作方法。Bartender是一种条码打印软件,是在行业中使用最多的软件。由美国seagull...

vb 中如何将数据保留一位小数,如何表示成科学计数法?用什么语言?
设置单元格的格式:objImportSheet.Cells(i, 1) .NumberFormatLocal = "0.0"objImportSheet.Cells(i, 2).NumberFormatLocal = "0.000E+00"下面的都一样。

相似回答