在项目开发过程中,因为对应的行业不同,对于财务小数和数量的准确度不同,对与保留的小数也有很高的要求,在这里我汇总了一下网上的一些实现方式,并通过真实的项目验证,在这里作为备份,以备以后查找方便。
在实现中,javascript保留小数存在两种不同的方法,
一种是在原来数的基础保留小数,不够小数,补零处理。例如:0.56,保留三位小数,会自动加零变成 0.560,这种实现在实际的项目中对于财务数据是非常重要的。
另一种做法就是在原来数的基础上保留小数,对于不够小数,不进行处理。例如:0.56,保留三位小数,最后还是0.56。
在这两种实现中,需要根据实际的项目需要进行选择。下面我只列出针对上诉两种做法的一种实现。可能会有其它的实现方式,如果你有,可以分享出来。
第一种:补零处理方式
-
function roundNumber(number,decimals) {
-
var newString;// The new rounded number
-
decimals = Number(decimals);
-
if (decimals < 1) {
-
newString = (Math.round(number)).toString();
-
} else {
-
var numString = number.toString();
-
if (numString.lastIndexOf(".") == -1) {// If there is no decimal point
-
numString += ".";// give it one at the end
-
}
-
var cutoff = numString.lastIndexOf(".") + decimals;// The point at which to truncate the number
-
var d1 = Number(numString.substring(cutoff,cutoff+1));// The value of the last decimal place that we'll end up with
-
var d2 = Number(numString.substring(cutoff+1,cutoff+2));// The next decimal, after the last one we want
-
if (d2 >= 5) {// Do we need to round up at all? If not, the string will just be truncated
-
if (d1 == 9 && cutoff > 0) {// If the last digit is 9, find a new cutoff point
-
while (cutoff > 0 && (d1 == 9 || isNaN(d1))) {
-
if (d1 != ".") {
-
cutoff -= 1;
-
d1 = Number(numString.substring(cutoff,cutoff+1));
-
} else {
-
cutoff -= 1;
-
}
-
}
-
}
-
d1 += 1;
-
}
-
if (d1 == 10) {
-
numString = numString.substring(0, numString.lastIndexOf("."));
-
var roundedNum = Number(numString) + 1;
-
newString = roundedNum.toString() + '.';
-
} else {
-
newString = numString.substring(0,cutoff) + d1.toString();
-
}
-
}
-
if (newString.lastIndexOf(".") == -1) {// Do this again, to the new string
-
newString += ".";
-
}
-
var decs = (newString.substring(newString.lastIndexOf(".")+1)).length;
-
for(var i=0;i<decimals-decs;i++) newString += "0";
-
//var newNumber = Number(newString);// make it a number if you like
-
return newString;
- }
第二种:不补零的处理
-
function roundNumber(number,fractionDigits){
-
with(Math){
-
return round(number*pow(10,fractionDigits))/pow(10,fractionDigits);
-
}
- }
分享到:
相关推荐
本项目名为“备忘录_备忘录_微信小程序_wherevermpo_”,显然是一个专门针对备忘录功能开发的微信小程序。下面将详细阐述与这个小程序相关的知识点。 首先,我们要理解微信小程序的基本架构和开发环境。微信小程序...
为了进一步理解并改进这个备忘录应用,你可以分析`xinnotebodok`文件的内容,查看Qml组件的布局、数据模型的定义以及JavaScript代码的实现。同时,检查相关的C++代码,了解数据处理和业务逻辑。对于出现的小Bug,...
在本项目实例中,我们探讨的是一个基于微信小程序的备忘录应用。微信小程序是一种轻量级的应用开发平台,特别适合构建无需下载安装即可使用的移动应用。该项目旨在提供记录文字、计时以及设置提醒的基本功能,以满足...
移动端备忘录是一种轻量级的应用程序,通常用于个人或团队记录待办事项、想法、笔记等信息。在移动设备上,备忘录应用程序提供了一种便捷的方式,让用户随时随地记录重要信息,无论是在工作中还是在生活中。这篇内容...
在本项目中,我们主要探讨如何使用jQuery和Bootstrap框架来创建一个简单的Web备忘录应用。这个应用利用HTML5的强大功能,为用户提供了一个方便、直观的界面,以便他们记录日常事务,并设定提醒时间,以便在特定时刻...
本项目"微信小程序之简易备忘录"是一个专注于帮助用户记录日常生活、工作事项的工具,集文字记录、计时和提醒功能于一体,体现了微信小程序在实用性和便捷性上的优势。 首先,我们要了解微信小程序的开发环境。...
"ASP.NET 实现的备忘录"项目,正如其名,是一个基于ASP.NET技术构建的在线备忘录系统,它可能包含了用户登录、创建、查看、编辑和删除备忘录的功能。这个项目对于学习ASP.NET和web应用开发的学生来说,是一个很好的...
在本示例中,我们将探讨如何使用jQuery实现一个日历表功能,并添加日期备忘录代码。这个功能可以用于网页应用程序,帮助用户方便地查看和管理他们的日期提醒。 首先,我们需要引入jQuery库。这通常通过在HTML文件中...
《Flutter备忘录:构建跨平台小工具的实践与技术解析》 Flutter,谷歌推出的开源UI框架,以其高效、简洁的开发方式,逐渐在移动应用开发领域占据一席之地。本篇文章将深入探讨如何利用Flutter框架创建一个备忘录...
在备忘录应用中,可能用到的API包括获取用户授权(如存储权限)、网络请求(同步或异步上传/下载数据)、本地存储(保存备忘录内容)等。 5. **事件处理**:微信小程序支持多种事件,如点击、滑动等。通过绑定事件...
开发者可以研究这些代码,了解如何将jQuery和JavaScript结合使用来创建自定义的日历备忘录控件,同时也可以学习如何组织和处理JSON数据。这个案例对于想要提升前端技能,特别是对日历组件开发感兴趣的开发者来说,是...
【集成闹钟及备忘录功能的js日历】是一个基于JavaScript实现的多功能日历组件,它将传统的日历视图与闹钟和备忘录功能相结合,为用户提供了一个便捷的时间管理和提醒工具。这个组件特别适合于网页应用,能够帮助用户...
在电话备忘录系统中,可能用到了这些机制来保留用户输入的信息或用户的会话状态。 7. **MVC模式**:虽然标题没有明确指出,但ASP.Net也支持Model-View-Controller(MVC)架构,这是一种流行的软件设计模式,可以...
"超强的日历控件,修改下可做备忘录"这个标题揭示了该资源可能是一个强大且可定制的日历插件,经过简单的调整,就能转换为一个功能齐全的备忘录应用。 描述中提到“找了好久,终于找到了”,这表明这个日历控件可能...
本文将详细讲解“简单的备忘录模板,事项列表,创建计划事项小程序前端模板”的相关知识点,包括小程序的基本概念、前端开发技术以及源码软件的应用。 首先,我们要理解什么是小程序。小程序是微信、支付宝等平台...
【标题】"备忘录.zip小程序精选源码"所涉及的知识点主要集中在小程序开发和源码分析两个领域。小程序作为一种轻量级的应用形式,它在移动互联网时代深受开发者和用户的喜爱,因为它不需要下载安装,即扫即用,方便...
1. **前端界面**:备忘录系统的用户界面通常使用HTML、CSS和JavaScript构建,提供友好的交互体验。JavaScript负责处理用户的实时交互,如添加、编辑备忘录,而PHP主要在后端处理数据和业务逻辑。 2. **后端逻辑**:...
4. **状态管理与数据持久化**:在JavaScript文件中,开发者会使用微信小程序提供的`Page`对象来管理页面状态,存储用户创建的备忘录。为了在关闭后还能恢复备忘录,可能还会使用微信小程序的本地存储API将数据保存到...
标题中的“纯HTML开发的桌面助手(闹钟、日历、备忘录等)”意味着这个项目使用HTML作为主要的前端开发语言,构建了一个类似桌面应用的程序,它集成了常见的实用功能,如闹钟、日历和备忘录。在IT领域,这通常涉及到...
"jQuery带备忘录功能的日期选择器.zip"就是一个实例,它结合了日期选择器与备忘录功能,为用户提供了一种便捷的方式来管理和查看特定日期的备注信息。 日期选择器是网页表单中常见的一种组件,用于让用户方便地选取...