zoukankan      html  css  js  c++  java
  • 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 Core 中间件Hello world
    MVC2 ,MVC3 ,MVC4,MVC5的区别,EF的各个版本的区别;LocalDB是个啥
    EF6 MVC5译文
    发布一个C++版本的ORM库SmartDB
    ORM
    Git图形化界面客户端大汇总
    Model工具
    HTTP协议的8种请求类型介绍
    五大主流数据库模型
    店铺装修——进阶模块介绍
  • 原文地址:https://www.cnblogs.com/ssaylo/p/12968624.html
Copyright © 2011-2022 走看看