Libreoffice Calc Basic 如何通过代码附加 2 个小数位

Posted

技术标签:

【中文标题】Libreoffice Calc Basic 如何通过代码附加 2 个小数位【英文标题】:Libreoffice Calc Basic How to append 2 decimal places by code 【发布时间】:2021-08-12 07:51:56 【问题描述】:

声明

Dim currDoc As Object
Dim currSheet As Object
Dim cell As Object  
currDoc = ThisComponent
currSheet = currDoc.sheets(0)

逻辑

cell.Formula = cDbl(cell.Value)

所需的输出 100,00

【问题讨论】:

您从错误的角度解决问题。您是否希望将单元格中的数字格式化(显示)为小数点后两位? UDF(以及内置的=TEXT(...;"0.00") 函数)可以显示所需形式的数字,但将其转换为字符串,使用该值进行进一步的算术运算将非常困难。试着用简单的语言解释你想要达到的目标,我们会试着用不太复杂的语言来解释如何实现这一目标。 我知道内置函数,但我想通过代码解决它,这样我就可以将宏分配给一个按钮,每当我想格式化一个带 2 个小数位的数字时,我只是按下按钮。 @JohnSUN 是的,我想用小数点后两位数格式化单元格中的数字,但我想用基本/代码解决它。 你已经有了这个按钮。还有一个组合键。尝试 Ctrl+Shift+1 或工具栏上标有 0.0 的按钮,并带有工具提示 Format as Number。是的,你可以用代码来做,你会在 Andrew Pitonyak 的书中找到合适的格式示例。但请相信我,付出的努力并不能证明结果是合理的,离开这个冒险吧。 【参考方案1】:

基于@JohnSUN 的评论: 只需为要格式化的单元格添加一行:

Cell.NumberFormat = 2 

Table for all Numberformats on page 189

【讨论】:

以上是关于Libreoffice Calc Basic 如何通过代码附加 2 个小数位的主要内容,如果未能解决你的问题,请参考以下文章

从 python 执行 LibreOffice Calc Basic 宏

从 libreoffice calc basic 中的“ThisComponent.CurrentSelection”获取行号和列号

Libreoffice calc - 如何将相同的值写入范围

Libreoffice calc 宏将当前日期 + 14 天放入单元格

LibreOffice Calc / OpenOffice Calc / Excel:如何显示负持续时间?

如何通过 LibreOffice 的 Calc 中的正则表达式语句捕获公司名称