Scratch 教程 之 如何四舍五入保留一个小数到指定的数位

        有些时候,我们需要四舍五入一个多位小数到指定的位,但scratch并没有这个积木,怎么做呢?我来教你~

        我们创建一个函数,需要时调用就行了~

        如图,创建一个带参函数,勾选"运行时不刷新屏幕":

注:勾选"运行时不刷新屏幕"

我们再创建两个变量,分别命名为"返回值"、"临时数据",分别用于返回值以及存储临时数据

在这个函数调用时,"返回值"变量应该是空的,所以初始化一下:

重要分析了


分析:要四舍五入一个多位小数并将它保留到指定的位

我们可以举几个例子,找出规律:

11.4554保留两位小数是11.46;114.514保留两位小数是114.51;1145.14保留一位小数是1145.1······

        通过以上的举例,我门不难发现——这些小数保留的结果看的是要保留的位数的下一位,如果这一位>4则朝前进1,否则舍去,也就是四舍五入。那么怎么用程序做出这种效果呢?scratch原版只能支持【小数四舍五入保留到整数】的判断。

        可如果将这个小数乘以一个数值变成另一个小数(或整数),四舍五入后再除以这个数不就行了?问题又来了,是乘以几呢?

        我们设这个小数是一个变量(number),需要四舍五入它到第(x)位,将(number)设为随意的一个小数,再将(x)也设为一个随意的正整数,我这里设的(number)是11.4514,设的(x)是3,要将它四舍五入到第3位,通过之前讲的原理,应当是先将这个数与100相乘,四舍五入后再除以100,那这个相乘的数与3有什么关系呢?

        不难发现,这个数是10的3次方(10^3),我们通过这个例子,知道了应该将(number)乘以多少了——10的x次方(10^x)。那怎么计算呢?我们从"运算"中找到"绝对值()",点击小三角,找到"10^()",再将之前我们创建的参数(x)拖进去就行啦~


        知道了这个"公式",我们继续在这个函数下方编程,首先将(number)*10^(x),并将得到的值四舍五入,保存到(临时数据)中;接着,按照我们之前的思路,还要除以一个数,得到返回值,这个数其实也就是10的x次方(10^x),我们可以这么做:将(返回值)变量设为(临时数据)除以(10^x)。如图:

其实,如果x的值为负数/小数(也就是不为正整数)时,返回值就会出错!

我们加个判断,优化下代码:

拼接:

 OK,如上,就是我们今天的全部代码~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗者才子酒中仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值