zoukankan      html  css  js  c++  java
  • VB6.0 获取N位有效数字方法

     最近一直在维护公司的一个老程序,需要一个获取N为有效数字的方法。我感觉自己还真是没念过书,客户给我说N位有效数字时。我几次以为是N位有效小数.在GOOGLE,BAIDU都没有找到代码,只能自己写。水平有限,需要的朋友可能拿去直接用,一下代码经过测试。
    代码
    Function 获取N位有效数字(str数值 As String, int有效位数 As IntegerAs String '获取N位有效数字,小数最后一会不要是0
        Dim tempsz As Double
        
    Dim 整数位数 As Integer, 整数值 As Long, 有效数字个数 As Integer, 有效数字最后一会位置 As Integer
        
    Dim 是否增加 As Boolean
        
        tempsz 
    = Val(str数值)
        整数值 
    = Int(tempsz)
        整数位数 
    = Len(CStr(整数值))
        
        
    If tempsz = 0 Or int有效位数 <= 0 Then
            获取N位有效数字 
    = "0"
            
    Exit Function
        
    End If

        
    If 整数位数 > int有效位数 Then
            获取N位有效数字 
    = Round(tempsz / (10 ^ (整数位数 - int有效位数)), 0)
            获取N位有效数字 
    = Val(获取N位有效数字) * (10 ^ (整数位数 - int有效位数))
            获取N位有效数字 
    = CStr(Int(Val(获取N位有效数字)))
            
    Exit Function
        
    End If
        
        
    If 整数值 >= 1 Then
            获取N位有效数字 
    = CStr(Round(tempsz, int有效位数 - 整数位数))
            
    If int有效位数 <> 整数位数 Then
                获取N位有效数字 
    = Format(获取N位有效数字, "#0." & 字符串重复函数("0", int有效位数 - 整数位数))
            
    End If
            
    Exit Function
        
    Else
            lens 
    = Len(str数值)
            有效数字个数 
    = 0
            获取N位有效数字 
    = ""
            是否增加 
    = False
            
            
    For n = 1 To lens
                ws 
    = Mid(str数值, n, 1)
                
    If 有效数字个数 < int有效位数 Then
                    获取N位有效数字 
    = 获取N位有效数字 & ws
                    
    If (ws = "0" And 是否增加) Or Val(ws) > 0 Then
                        是否增加 
    = True
                        有效数字个数 
    = 有效数字个数 + 1
                        
    If 有效数字个数 = int有效位数 Then
                            有效数字最后一会位置 
    = n
                        
    End If
                    
    End If
               
                
    End If
            
    Next
            
            
    If 有效数字个数 < int有效位数 Then
                获取N位有效数字 
    = 获取N位有效数字 & 字符串重复函数("0", int有效位数 - 有效数字个数)
            
    Else
                获取N位有效数字 
    = "0" & CStr(Round(tempsz * 10 ^ (有效数字最后一会位置 - 2), 0/ (10 ^ (有效数字最后一会位置 - 2)))
            
    End If
        
        
    End If
        
        
    End Function

    Function 字符串重复函数(str字符串 As String, int重复次数 As IntegerAs String
        字符串重复函数 
    = ""
        
    For i = 1 To int重复次数
            字符串重复函数 
    = 字符串重复函数 & str字符串
        
    Next
    End Function

  • 相关阅读:
    python实现单链表及常用方法->判空|长度|头尾及指定插入|删除|搜索|反转
    k8s v1.21.9集群安装带认证的elk 6.8.18
    docker安装Elasticsearch6.8集群并设置密码
    kubernetes v1.20.9部署keepalived-vip实现高可用pod访问
    rsync远程同步工具的使用-实现跳板机与内网数据传输
    旧金山大学 大卫 算法演示
    IO多路复用之select、poll、epoll详解-转载
    docker容器中使用systemctl命令 set-hostname
    win7 安装ss
    常用相似度语料
  • 原文地址:https://www.cnblogs.com/qzdotnet/p/1663863.html
Copyright © 2011-2022 走看看