音乐吧 - www.52290.com

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1429|回复: 1

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

[复制链接]

1056

主题

1090

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

音乐币
101
贡献
537
金钱
4385
威望
2120
相册
1

推广达人宣传达人突出贡献荣誉管理最佳新人活跃会员

QQ
发表于 2017-8-11 12:34:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
<!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>

1056

主题

1090

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

音乐币
101
贡献
537
金钱
4385
威望
2120
相册
1

推广达人宣传达人突出贡献荣誉管理最佳新人活跃会员

QQ
 楼主| 发表于 2017-8-11 13:04:48 | 显示全部楼层
测试一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|版权声明| 音乐吧 52290 ( 桂ICP备2021006182号 )

GMT+8, 2024-4-30 02:55 , Processed in 0.041260 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 07726.Com Inc.

快速回复 返回顶部 返回列表