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

news2024/11/19 6:23:46

        有些时候,我们需要四舍五入一个多位小数到指定的位,但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,如上,就是我们今天的全部代码~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/813380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《GreenPlum系列-部署维护》GreenPlum数据库Standby故障处理

一、Standby故障 1.检查监控中心数据库状态 2.查看master节点数据库状态 su - gpadmin gpstate -f二、重启数据库 1.快速关闭数据库 [gpadminmdw pg_log]$ gpstop -M fast ... Continue with Greenplum instance shutdown Yy|Nn (defaultN): > y ...2.开启数据库 [gpad…

[SSM]Spring对事务的支持

目录 十六、Spring对事务的支持 16.1事务概述 16.2引入事务场景 16.3Spring对事务的支持 Spring实现事务的两种方式 Spring事务管理API 声明式事务之注解实现方式 事务属性 事务的全注解式开发 声明式事务之XML实现方式 十六、Spring对事务的支持 16.1事务概述 什么是…

stm32 mpu6050 cubemx DMP法读取角度

文章目录 前言一、相关文件二、cubemx配置三、代码变量初始化主循环 总结 前言 文件 记录使用dmp库来读取mpu6050的角度。 这是参考文件 参考1–主要参考 github参考 参考2 参考三 一、相关文件 相关文件在这里下载(未填,不过可以在上面的git中下载&a…

(树) 剑指 Offer 28. 对称的二叉树 ——【Leetcode每日一题】

❓ 剑指 Offer 28. 对称的二叉树 难度:简单 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ \2 2/ \ / \3 4 4 3但是下面这个…

在Python中导入gurobipy模块显示ModuleNotFoundError: No module named ‘gurobipy‘的解决办法

笔者在学习用pythonAnacondagurobi求解优化问题时遇到了这个问题,看了很多帖子的方法都没有解决,所以这里分享一下自己的解决办法。 首先找到自己用的Anaconda3所在位置,这里不再赘述。 下拉文件夹找到envs,双击PythonProject&…

【雕爷学编程】MicroPython动手做(18)——掌控板之声光传感器

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

深入探索Linux文件系统与挂载点:掌握分区、挂载技巧

Linux 文件系统就是在 Linux 操作系统里咱们用来组织和管理文件的工具。它规定了文件和文件夹的结构,还确定了它们在存储设备上的储存方式。大致上来说,Linux 有很多种文件系统,比如 ext4、XFS、Btrfs 等。 挂载点其实就是把一个文件系统与 …

VS Code环境配置问题

VS Code 环境配置问题 文章目录 VS Code 环境配置问题配置 C问题解决不乱码只显示结果避免闪退,中文乱码 配置 Java下载 JDKJDK 环境配置安装插件 配置 C 跟着官网教程(英文版)和其他博客配置了一遍,却遇到了很多小问题&#xff…

2023“Java 基础 - 中级 - 高级”面试集结,已奉上我的膝盖

Java 基础(对象线程字符接口变量异常方法) 面向对象和面向过程的区别? Java 语言有哪些特点? 关于 JVM JDK 和 JRE 最详细通俗的解答 Oracle JDK 和 OpenJDK 的对比 Java 和 C的区别? 什么是 Java 程序的主类&…

Metabase 远程代码执行(CVE-2023-38646)

漏洞描述 Metabase是一款开源数据分析及可视化工具。它可允许用户连接至各种不同类型数据源,未经身份认证的攻击者可利用本漏洞在服务器上以运行 Metabase服务器的权限进行任意命令执行。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩…

第133页的gtk+编程例子——计算器应用改写网上的例子用gtk4编译

第133页的gtk编程例子——计算器应用改写网上的例子用gtk4编译 来源:《GTK的计算器》 https://blog.csdn.net/zhouzhouzf/article/details/17097999 例子程序是在gtk2.0编译的,之前修改许多地方才能在gtk3.0编译通过,如今再修改能在gtk4编译…

进阶高级测试专项,Pytest自动化测试框架总结(三)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、pytest前置条件…

谈一谈缓存穿透,击穿,雪崩

缓存穿透 缓存穿透是指在使用缓存系统时,频繁查询一个不存在于缓存中的数据,导致这个查询每次都要通过缓存层去查询数据源,无法从缓存中获得结果。这种情况下,大量的请求会直接穿透缓存层,直接访问数据源,…

04 http连接处理(上)

基础知识&#xff1a;epoll、http报文格式、状态码和有限状态机 代码&#xff1a;对服务端处理http请求的全部流程进行简要介绍&#xff0c;然后结合代码对http类及请求接收进行详细分析。 epoll epoll_create函数 #include <sys/epoll.h> int epoll_create(int size)…

深度学习实践——模型部署优化实践

系列实验 深度学习实践——卷积神经网络实践&#xff1a;裂缝识别 深度学习实践——循环神经网络实践 深度学习实践——模型部署优化实践 深度学习实践——模型推理优化练习 源码&#xff1a; 1. 对应的github地址 https://github.com/Asionm/streamlit_demo 2. 对应的gitee地…

Session、Cookie 与 Application

目录 简介cookiecookie生命周期 sessionsession生命周期 application 简介 cookie、seesion、application三个都会缓存我们用户状态的数据&#xff0c;使得我们在浏览器访问网站时可以更快速的获取到信息。 主要原因在于HTTP协议是无状态的&#xff0c;我们每次访问服务器&…

软考05根据内存区域大小计算芯片数量

文章目录 前言一、原题二、解题思路1.计算内存区域的大小2.计算每个存储器芯片的容量3.计算芯片数量 总结 前言 从网上看题答案是有了&#xff0c;但是不知道具体的计算过程就很难受&#xff0c;不然下次还是不会&#xff0c;只能自己梳理了 一、原题 二、解题思路 1.计算内存…

ANR底层源码分析之Service篇

ANR底层源码分析之Service篇 一、前言二、Service-ANR原理2.1 Service启动ANR原理简述2.2 前台Service VS 后台Service的区别2.2.1 前台Service2.2.3 后台Service 2.3 Service启动ANR源码执行过程2.3.1 ActiveServices#bringUpServiceLocked2.3.2 ActiveServices#realStartServ…

数据安全

数据的备份与恢复 1. 数据备份技术 任何数据在长期使用过程中&#xff0c;都存在一定的安全隐患。由于认为操作失误或系统故障&#xff0c;例如认为错误、程序出错、计算机失效、灾难和偷窃&#xff0c;经常造成数据丢失&#xff0c;给个人和企业造成灾难性的影响。在这种情况…

LeetCode 刷题 数据结构 数组 27 移除元素

难度&#xff1a;简单 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑…