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

怎么免费做网站不要域名seo站长论坛

怎么免费做网站不要域名,seo站长论坛,网站建设实训课实训心得,网站建设互联网排名在编程中,对数字进行格式化是一项常见的任务,特别是当我们需要在用户界面中显示数据或生成报告时。在 Lua 中,我们可以使用一些简单而有效的函数来实现数字的格式化。在本文中,我们将介绍一个由几个函数组成的小型 Lua 库&#xf…

在编程中,对数字进行格式化是一项常见的任务,特别是当我们需要在用户界面中显示数据或生成报告时。在 Lua 中,我们可以使用一些简单而有效的函数来实现数字的格式化。在本文中,我们将介绍一个由几个函数组成的小型 Lua 库,用于数字格式化。

1. 核心函数介绍

FormatNumber(number, decimalPlaces) 

这个函数接收一个数字和一个小数点位数,然后将数字格式化为指定小数位数的浮点数。它通过在小数点后四舍五入来实现精确度控制。

local function FormatNumber(number, decimalPlaces)local intNum, decimalNum = math.modf(number)for i = 1, decimalPlaces dointNum = intNum + (math.floor(decimalNum * 10) / (10 ^ i))decimalNum = decimalNum * 10 - math.floor(decimalNum * 10)endreturn intNum
end
FormatWithScale(num, decimalPlaces)

这个函数用于将一个较大的数字转换为以万或亿为单位的字符串表示,同时保留指定的小数位数。它先判断数字是否大于一万,若大于则将其单位转换为万或亿,然后调用 FormatNumber 函数进行小数位数格式化,并拼接单位字符串返回。

local function FormatWithScale(num, decimalPlaces)local unitIndex = 1local units = {'', '万', '亿'}while num >= 1e4 doif unitIndex > #units thenbreakendnum = num / 1e4unitIndex = unitIndex + 1endnum = FormatNumber(num, decimalPlaces)return string.format('%s%s', num, units[unitIndex])
end
FormatFloat(number, isFormatUnit, decimalPlaces)

这个函数是一个高级封装函数,用于根据需求格式化数字。它接收三个参数:待格式化的数字、一个布尔值指示是否需要格式化单位、以及小数位数。根据参数的不同,它可以将数字格式化为整数或带有单位的浮点数字符串。

local function FormatFloat(number, isFormatUnit, decimalPlaces)decimalPlaces = decimalPlaces or 1if decimalPlaces == 0 thenreturn string.format('%d', number)endif isFormatUnit thenreturn FormatWithScale(number, decimalPlaces)endnumber = math.floor(number + 0.5)return FormatNumber(number, decimalPlaces)
end

2. 使用示例

print(FormatFloat(123456789, true, 2)) -- 输出: "1.23亿" 
print(FormatFloat(9876543210, true, 3)) -- 输出: "9.877亿" 
print(FormatFloat(12345, true, 1)) -- 输出: "1.2万" 
print(FormatFloat(123.456789, false, 2)) -- 输出: "123.46" 
print(FormatFloat(987.654321, false, 0)) -- 输出: "988"

3.完整代码

local function FormatNumber(number, decimalPlaces)local intNum, decimalNum = math.modf(number)for i = 1, decimalPlaces dointNum = intNum + (math.floor(decimalNum * 10) / (10 ^ i))decimalNum = decimalNum * 10 - math.floor(decimalNum * 10)endreturn intNum
endlocal function FormatWithScale(num, decimalPlaces)local unitIndex = 1local units = {'', '万', '亿'}while num >= 1e4 doif unitIndex > #units thenbreakendnum = num / 1e4unitIndex = unitIndex + 1endnum = FormatNumber(num, decimalPlaces)return string.format('%s%s', num, units[unitIndex])
endlocal function FormatFloat(number, isFormatUnit, decimalPlaces)decimalPlaces = decimalPlaces or 1if decimalPlaces == 0 thenreturn string.format('%d', number)endif isFormatUnit thenreturn FormatWithScale(number, decimalPlaces)endnumber = math.floor(number + 0.5)return FormatNumber(number, decimalPlaces)
endprint(FormatFloat(123456789, true, 2)) -- 输出: "1.23亿"
print(FormatFloat(9876543210, true, 3)) -- 输出: "9.877亿"
print(FormatFloat(12345, true, 1)) -- 输出: "1.2万"
print(FormatFloat(123.456789, false, 2)) -- 输出: "123.46"
print(FormatFloat(987.654321, false, 0)) -- 输出: "988"

3. 结语

以上介绍的这些函数是在 Lua 中进行数字格式化时非常有用的工具。无论是简单地保留小数位数还是将较大的数字转换为易读的字符串表示,这些函数都能够轻松胜任。通过灵活地使用这些函数,我们可以更加方便地处理数字数据,为用户提供更好的体验。

http://www.sczhlp.com/news/77855/

相关文章:

  • 湘潭网站建设电话磐石网络网站 建立目录出错
  • 物流公司官方网站物流专线女的和男的做那个视频网站
  • 易名域名交易成都优化网站哪家公司好
  • 青岛网站建设制作推广网站建设与管理课程报告
  • 上海网站建设集中cms网站怎么建
  • 新人期(0-1年)职场生存战 - 公众号更新大纲
  • 02020211 .NET Core重难点知识11-依赖注入、.NET中DI服务注册、服务的生命周期、IDisposable接口示例
  • 河南网站建设官网百度怎么搜图片
  • 哪些网站推广不收费裕华区建设局网站
  • 免费建立网站的网站都有啥学做网站论坛vip学员码
  • 做期货关注网站深圳外贸招聘
  • 东莞优化网站建设中文html网站模板下载
  • 生道网站建设平台四川营销型网站
  • 对于时间管理的感悟 - Charlie
  • 旅游网站有哪些功能黄山市旅游攻略
  • 收费底的网站有吗做电脑壁纸的网站
  • 如何在百度做网站app开发 深圳
  • 时间轴网站设计网站地图制作怎么做
  • 四合一网站建设源码自己怎样成为电商
  • 网站开发兼容ie个人与公司网站备案
  • 网站建设经营特色漂亮公司网站源码打包下载
  • 网站建设课程有哪些收获网站建设丶金手指专业
  • 有了网站怎样做公众号网站的设计 哪家网络公司好
  • 重庆网站排名优化教程图灵机器人 wordpress
  • 软件工程第一次作业-自我介绍
  • Revit 创建自适应族
  • 表达式树复用陷阱:为什么结果会“颠倒”?
  • 建设事业单位网站多少钱上海建设银行网站上班时间
  • .net 创建网站项目网站建设业务的途径
  • wordpress技巧:开启wordpress多站点功能公司建设网站需要什么资质