【问题标题】:Libreoffice Calc Basic How to append 2 decimal places by codeLibreoffice Calc Basic 如何通过代码附加 2 个小数位
【发布时间】:2025-12-21 01:25:12
【问题描述】:

声明

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 的书中找到合适的格式示例。但请相信我,付出的努力并不能证明结果是合理的,离开这个冒险吧。

标签: libreoffice openoffice.org basic libreoffice-basic openoffice-basic


【解决方案1】:

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

Cell.NumberFormat = 2 

Table for all Numberformats on page 189

【讨论】: