当前位置: 首页 > backend >正文

需求:金额字段要求只能输入两位且直接进行截断

在vue项目开发中,某一个金额字段保留到小数点儿后两位(要求直接截断,不可进行四舍五入),最大999999999.99。

代码实现如下:

<el-input-number v-model="oilCost" placeholder="请输入(元)" :step="0.1" :max="999999999.99" controls-position="right" @blur="handleBlur" />

在handleBlur事件中:

第一种:借助Math.trunc方法

const handleBlur =  (value: number) => {return Math.trunc(value * 100) / 100;
}

第二种:将数字转为string类型,进行截断

const handleBlur = (value: string) => {const numStr = value.toString();const dotIndex = numStr.indexOf('.');if (dotIndex === -1) {return value;}return Number(numStr.slice(0, dotIndex + 3));
}


该需求涉及JavaScript数字精度问题。第一种实现方式在某些数字中,会出现问题,如144.42会变成144.41等;建议采用第二种方式实现。

http://www.xdnf.cn/news/315.html

相关文章:

  • 楼梯上下检测数据集VOC+YOLO格式5462张2类别
  • ifconfig -bash: ifconfig: command not found
  • bulk-seq分析,表达量你使用fpkm?还是tpm?
  • 邮件自动回复助手(Rasa/SMTP)实现教程
  • 【Triton 教程】triton_language.full
  • 代码随想录算法训练营第二十一天
  • 【认知觉醒】是什么? 如何做到 ? ( 持续更新ing )
  • 2021 CCF CSP-S2.廊桥分配
  • Arduino无线体感机器手——问题汇总
  • 土建施工员备考经验分享
  • o3和o4-mini的升级有哪些亮点?
  • JS反混淆网站
  • 使用MQTT协议实现VISION如何与Node-red数据双向通信
  • 每日算法-250418
  • 基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。
  • linux查看及修改用户过期时间
  • Flutter_学习记录_状态管理之GetX
  • 从Archery到NineData:积加科技驱动数据库研发效能与数据安全双升级
  • C++:PTA L1-006 连续因子
  • AI Agent 元年,于 2025 开启
  • Python 高阶函数:日志的高级用法
  • Linux | I.MX6ULL 内核的编译(13)
  • npm i 安装遇到问题
  • 第五章----继承
  • 通俗理解MCP(Model Context Protocol)和A2A(Agent2Agent)
  • Java 序列化与反序列化终极解析
  • 每日两道leetcode
  • 4.17-4.18学习总结 多线程
  • STP协议中的四种端口状态
  • 熵权法+TOPSIS+灰色关联度综合算法(Matlab实现)