在Vb6中如何将科学计数法转换为常规记数法!

时间:2023-02-17 11:18:22
这我本人写的一个计算下横梁负弯矩钢筋计算的程式:

Private Sub Command3_Click()

Dim m As Single
Dim Fc As Single
Dim b As Single
Dim h0 As Single
Dim fy As Single
Dim Pmin As Single
Dim Pmax As Single
Dim es As Single
Dim as1 As Single
Dim p As Single
Dim s As Single
Dim asmm2 As Single
Dim sh As Single

m = textM.Text
Fc = textFc.Text
b = textB.Text
h0 = textH0.Text
fy = textFy.Text
Pmin = textpmin.Text
es = TextEs.Text
c = Cmmtext.Text

as1 = (m / (Fc * b * h0 * h0)) * (1 / 1000)

s = 1 - Sqr(1 - 2 * as1)

p = s * (Fc / fy)

sh = 0.8 / (1 + (fy / (0.0033 * es)))

Pmax = sh * (Fc / fy)

If (p > Pmax) Then
  
  MsgBox "错误!ρmin>ρmax,请重新配筋!"
  
  ElseIf (p >= Pmin) Then
    
     asmm2 = p * b * h0
     
     ElseIf (p < Pmin) Then
      
       asmm2 = Pmin * b * h0
     
     End If
     
 
 
 Debug.Print " as:"; as1
 Debug.Print " s:"; s
 Debug.Print " p:"; p
 Debug.Print " pmax:"; Pmax
 Debug.Print " asmm:"; asmm2

输出结果如下:
 s: 8.940497E-02 
 p: 5.623861E-03 
 pmax: .0342401 
 asmm: 3.732838E-03 
 as: 8.540834E-02 

如何将结果改为:
s:    0.0894
p:    0.0056
pmax: 0.0342
asmm: 3733
as:   0.0854

3 个解决方案

#1


Round函数
      

描述

返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。

语法

Round(expression [,numdecimalplaces])

Round函数语法有如下几部分:

部分 描述 
expression 必需的。要进行四舍五入运算的数值表达式。 
numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。 


#2


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 作用在正数上不会保留正负号空间,而以 Str 的话则会。

#3


FormatNumber函数
      

描述

返回一个数字格式的表达式。

语法

FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatNumber函数语法有如下几部分:

部分 描述 
Expression 必需的。要被格式化的表达式。 
NumDigitsAfterDecimal 可选的。数字值,表示小数点右边的显示位数。缺省值为–1,表示使用计算机的区域设置值。 
IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值,请参阅“设置值”部分。 
UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数值放在圆括号内。关于其值,请参阅“设置值”部分。 
GroupDigits 可选的。的三态常数,表示是否用组分隔符对数字分组,组分隔符在计算机的区域设置值中指定。关于其值,请参阅“设置值”部分。 


设置值

IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:

常数 值 描述 
TristateTrue –1 True 
TristateFalse 0 False 
TristateUseDefault –2 用计算机区域设置值中的设置值。 


说明

当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。

注意   所有设置值信息都来自“区域设置”的“数字”选项卡。

#1


Round函数
      

描述

返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。

语法

Round(expression [,numdecimalplaces])

Round函数语法有如下几部分:

部分 描述 
expression 必需的。要进行四舍五入运算的数值表达式。 
numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。 


#2


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 作用在正数上不会保留正负号空间,而以 Str 的话则会。

#3


FormatNumber函数
      

描述

返回一个数字格式的表达式。

语法

FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatNumber函数语法有如下几部分:

部分 描述 
Expression 必需的。要被格式化的表达式。 
NumDigitsAfterDecimal 可选的。数字值,表示小数点右边的显示位数。缺省值为–1,表示使用计算机的区域设置值。 
IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值,请参阅“设置值”部分。 
UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数值放在圆括号内。关于其值,请参阅“设置值”部分。 
GroupDigits 可选的。的三态常数,表示是否用组分隔符对数字分组,组分隔符在计算机的区域设置值中指定。关于其值,请参阅“设置值”部分。 


设置值

IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:

常数 值 描述 
TristateTrue –1 True 
TristateFalse 0 False 
TristateUseDefault –2 用计算机区域设置值中的设置值。 


说明

当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。

注意   所有设置值信息都来自“区域设置”的“数字”选项卡。