Java 金额转换帮助类(元转分)

Java将金额转换为分,分为int类型,元有String类型和BigDecimal。用于日常记录,方便未来使用。


public abstract class MoneyUtils {


    private MoneyUtils() {}

    /**
     * 将单位为元的金额转换为单位为分
     *
     * @param yuan 单位为元的字符型值
     * @return
     */
    public static int yuan2Fen(String yuan) {
        int value = 0;

        try {
            BigDecimal var1 = new BigDecimal(yuan);
            BigDecimal var2 = new BigDecimal(100);
            BigDecimal var3 = var1.multiply(var2);
            value = Integer.parseInt(var3.stripTrailingZeros().toPlainString());
        } catch (Exception e) {
            throw new IllegalArgumentException(String.format("非法金额[%s]", yuan));
        }

        Assert.isTrue(value >= 0, String.format("非法金额[%s]", yuan));
        return value;
    }

    /**
     * 将单位为分的金额转换为单位为元
     * @param fen 单位为分的字符型值
     * @return
     */
    public static String fen2Yuan(int fen) {
        BigDecimal var1 = new BigDecimal(fen);
        BigDecimal var2 = new BigDecimal(100);
        BigDecimal var3 = var1.divide(var2);
        return var3.stripTrailingZeros().toPlainString();
    }

    /**
     * 将单位为分的金额转换为单位为元
     * @param fen 单位为分的字符型值
     * @return
     */
    public static BigDecimal fen2YuanDecimal(int fen) {
        BigDecimal var1 = new BigDecimal(fen);
        BigDecimal var2 = new BigDecimal(100);
        BigDecimal var3 = var1.divide(var2);
        return var3;
    }
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序汉堡点餐系统是一款基于微信小程序开发的在线点餐应用。该系统旨在为用户提供便捷、快速的点餐体验,同时帮助餐厅提高运营效率和客户满意度。本资源介绍将重点介绍该系统的技术架构、功能模块以及开发过程中可能遇到的问题。技术架构:微信小程序汉堡点餐系统采用了前后端分离的开发模式,前端使用微信小程序框架进行开发后端则采用Java语言和Spring Boot框架搭建RESTful API。前端主要负责展示菜单、处理用户交互和调用后端API获取数据;后端负责处理业务逻辑、存储数据和与前端进行数据交互。此外,为了保证数据的安全性和稳定性,系统还采用了数据库(如MySQL)进行数据存储。功能模块:该系统主要包括以下几个功能模块:a. 用户登录/注册:用户可以通过手机号或微信账号进行登录/注册,以便在系统中查看和管理自己的订单信息。b. 菜单浏览:用户可以浏览餐厅的菜单,包括菜品名称、价格、图片等信息。c. 下单支付:用户可以选择心仪的菜品,添加到购物车中,然后进行支付操作。支持多种支付方式,如微信支付、支付宝等。d. 订单管理:用户可以在“我的订单”页面查看自己的历史订单,包括订单状态、支付金额等信息。同时,用户还可以对已下单的订单进行取消、修改等操作。e. 商家后台管理:餐厅管理员可以通过后台管理系统查看和管理店铺的菜品、订单、会员等信息。同时,还可以进行营销活动、统计分析等工作。开发过程中可能遇到的问题:在开发过程中,开发者可能会遇到以下问题:a. 前后端数据交互问题:由于前后端采用的是不同的技术栈,因此需要解决数据格式转换、接口设计等问题。可以使用JSON格式进行数据传输,并定义统一的数据接口规范。b. 性能优化问题:随着用户量的增加,系统的性能可能会受到影响。可以通过缓存策略、负载均衡等方式进行优化。c. 安全问题:保护用户的隐私和支付安全是非常重要的。需要采取一系列措施,如加密传输、防止SQL注入等,来确保系统的安全性。
BOSS,业务运营支持系统(Business & Operation Support System),面对客户是统一的;面对 BOSS系统 BOSS系统 业务运营商,它融合了业务支撑系统(BSS)与运营支撑系统(OSS),是一个综合的业务运营和管理支撑平台,同时也是真正融合业务(不同的运营商有不同业务的融合,如传统网络接入业务、IP数据业务、内容提供业务与移动增值业务等)的综合管理平台。该系统最早由电信部门的计费系统发展演变而来,基本功能包括客户资料管理、产品管理、用户订购管理、计费、出帐、结算等,负责登记客户资料、管理用户订购服务的提供、实时的根据不同产品、套餐的资费标准计算业务(手机、固定电话用户通话时、点播收视、宽带流量与时间等)的消费金额,准实时及定期计算用户帐单,实时或定期结算用户各种消费费用。后来又增加了用户信用控制功能,负责实时计算预付费用户现金余额,对欠费用户实施即时停机。随着电信企业的不断发展,BOSS也在逐渐完善并增强功能,逐渐包括了资源管理系统、客户服务系统、以及与银行等外界的接口,不断提高企业的服务质量。 OSS/BSS是电信运营商的一体化、信息资源共享的支持系统,它主要由网络管理、系统管理、计费、营业、账务和客户服务等部分组成,系统间通过统一的信息总线有机整合在一起。它不仅能在帮助运营商制订符合自身特点的运营支撑系统的同时帮助确定系统的发展方向,还能帮助用户制订系统的整合标准,改善和提高用户的服务水平。 OSS的历史可以追溯到1984年,AT&T的第一次拆分让世界电信市场首次引入了竞争。之后市场竞争加剧,要求运营商们不仅能保持客户群的忠实度、减少客户流失,还必须保证一定的经营利润。OSS/BSS于是就应运而生了,其中OSS是主体,BSS是基础,从客户的角度看,OSS和BSS之间没有区别。随着"以客户为中心"理念的盛行,服务商也渐渐淡化了OSS和BSS之间的区别。 OSS(运营支持系统) OSS包含用于运行和监控网络的所有系统,如报告或计费系统。它不是网络本身,它是整个运营基础结构,包括运营网络系统和客户服务系统,其中客户支持功能是由业务支持系统(BSS)执行的。 BSS(业务支持系统) BSS系统的设计目标包括客户关系管理(CRM)、业务供应链管理(SCM),经营决策支持系统(DSS)。 系统结构 BOSS的构成因运营商的实际情况和具体要求不同,但大致都具备以下四个功能块:计费及结算系统 计费系统是指处理计费数据采集和批价两个过程的系统。计费数据采集工作包括计算机从电信基础网络(如交换机、网关等)上收集有关的原始基础数据和信息,进行相应的差错检验、格式转换等预处理,生成的 BOSS系统 BOSS系统 结果只记录了用户使用网络(如通话)的情况,并不体现应向用户收取的费用;批价反应了向用户收取的费用情况。 结算系统是电信企业间的行为,它包括两种情况:一种称为漫游结算,另一种称为互联结算。当互联结算发生在两个甚至多个网络之间时,称为网间结算。结算的流程本身就比较复杂,再加上数据量很大,出现得比较晚,使结算系统逐渐区别于传统的计费系统,成为业务运营支撑系统相对独立的组成部分。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值