admin 发表于 2017-8-11 12:34:16

四舍五入保留两位小数(基于字符串的练习)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>保留小数</title>
    <style>
      /*flex弹性布局*/
      *{margin: 0;padding: 0;box-sizing: border-box;}
      header{height: 200px;background-color: #f00;}
      /*样式计算兼容到IE9*/
      section{height: calc(2*(100vh - 200px)/3)}
      footer{height:calc((100vh - 200px)/3);background-color: #ff0;}
    </style>
</head>
<body>
    <!--display:flex多兰多列布局,兼容性不太好-->
    <header>我是固定高度200px</header>
    <section>
      我是自适应高度(是底部的2倍)
      <input type="number" name="number">
      <button type="submit">点击输出小数</button>
      <div></div>
    </section>
    <footer>我是自适应高度是内容部分的二分之一</footer>
</body>
</html>
<script>
    var input = document.querySelector('input')
    var button = document.querySelector('button')
    var div = document.querySelector('div')
    button.onclick=function(){
      // 1.调用Number()来对string进行值类型转换。
      // 2.parseInt()。
      // 3.parseFloat()。
      // toFixed将number保留2位小数(必须是number类型)
      // var q = Number(a.value).toFixed(2)   
      // d.innerHTML=q
      // concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
      // indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 (返回的是一个索引值)。
      // charAt() – 返回指定位置的字符。
      // substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。
    var num = input.value
    var index = num.indexOf('.')
    var a = num.substring(index+1,index + 3)
    if(index == -1||a.length<=2){
      console.log(Number(num).toFixed(2))
      div.innerHTML=Number(num).toFixed(2)
    }else{
      var str = num.substring(0,index + 2);
      var before =num.substring(index + 2,index + 3);
      var lest =num.substring(index + 3,index + 4);
      if(Number(lest)<5){
            //字符串拼接concat的用法
            str.concat(before)
      console.log(str.concat(before))
      div.innerHTML=str.concat(before)
      }else if(Number(lest)>=5){
      str.concat(String(Number(before)+1))
      console.log(str.concat(String(Number(before)+1)))
      str.concat(str.concat(String(Number(before)+1)))
      }
    }
}
</script>

admin 发表于 2017-8-11 13:04:48

测试一下
页: [1]
查看完整版本: 四舍五入保留两位小数(基于字符串的练习)