• convertStringToNumber && convertNumberToString


    winter 大大的前端进阶训练营 第三周 字符串与数字之间的互相转化作业

    <!--
     * @Date: 2020-05-26 18:58:36
     * @LastEditors: xuchao
     * @LastEditTime: 2020-05-26 20:52:08
     * @FilePath: /暂时性缓存区/stringToNumber.html
    -->
    
    <script>
      function convertStringToNumber(string, radix = 10) {
        // 十进制以上的数不支持 (eg: ABCDFG)
        if (radix > 10) {
          return
        }
        // 字符串里面s是否有 e|E
        let flag = /e|E/.test(string)
        if (!flag) {
          let chars = string.split('')
          let number = 0
          let i = 0
          while (i < chars.length && chars[i] != '.') {
            number = number * radix
            number += chars[i].codePointAt(0) - '0'.codePointAt(0)
            i++
          }
          if (chars[i] === '.') {
            i++
          }
          let fraction = 1
          while (i < chars.length) {
            fraction /= radix
            number += (chars[i].codePointAt(0) - '0'.codePointAt(0)) * fraction
            i++
          }
          return number
        } else {
          let logNumber = Number(string.match(/d+$/)[0])
          let number = string.match(/^[d.]+/)[0].replace(/./, '')
          if (/e-|E-/.test(string)) {
            return Number(number.padEnd(logNumber + 1, 0))
          } else {
            return Number(
              number.padStart(logNumber + number.length, 0).replace(/^0/, '0.')
            )
          }
        }
      }
      // document.write(convertStringToNumber('3.4556645445E20'))
    
      function convertNumberToString(number, radix) {
        let integer = Math.floor(number)
        let fraction = String(number).match(/.d+$/)
        if (fraction) {
          fraction = fraction[0].replace('.', '')
        }
        let string = ''
        while (integer > 0) {
          string = String(integer % radix) + string
          integer = Math.floor(integer / radix)
        }
        return fraction ? `${string}.${fraction}` : string
      }
      document.write(convertNumberToString('100.00148498', 10))
    </script>
    
  • 相关阅读:
    Asp.net上传文件,过滤不符合要求格式的文件
    取得文件真正扩展名类型
    ORA12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
    Android显示图片自适应(控件+网页)
    Android代码资源的国际化
    Eclipse下加载Android SDK源码
    Android 中Webview 自适应屏幕
    网页图片缩放(js)
    android webview 缩放及换行
    subclipse用法
  • 原文地址:https://www.cnblogs.com/ssaylo/p/12968624.html
Copyright © 2020-2023  润新知