在VBA中输出分数而不是小数

Posted

技术标签:

【中文标题】在VBA中输出分数而不是小数【英文标题】:Output fraction instead of decimal in VBA 【发布时间】:2017-09-25 22:44:39 【问题描述】:

我试图在 VBA 中将方程的解显示为未约简分数,但 VBA 会自动将方程计算为小数。有人知道如何将其保留为原始分数吗?

我已经尝试将整数转换为字符串然后除以它们,但 excel 仍然会自动将所有内容转换为小数。

Dim workingmegawattsint As Integer
workingmegawattsint = workingturbinesint * turbineCapacity
Dim totalmegawattsint As Integer
totalmegawattsint = totalturbinesint * turbineCapacity
ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Value = workingmegawattsint / totalmegawattsint

【问题讨论】:

***.com/questions/19007031/… 如果您只想更改自定义数字格式 VBA 不会/不会将数值存储为分数。根据数据类型,这些值存储为二进制值,存储要求为 1 到 14 个字节。结果可以显示为分数、小数或整数(或其他值),具体取决于结果的格式。如果您想使用特定的分母,您需要自定义格式您的结果,或相应的工作表单元格。 【参考方案1】:

只需像字符串一样输入:

ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Value = workingmegawattsint & "/" & totalmegawattsint

可能需要使用 TEXT() 进行调整,具体取决于数字的长度/长度。

【讨论】:

以上是关于在VBA中输出分数而不是小数的主要内容,如果未能解决你的问题,请参考以下文章

请问在c语言中如何输出百分数?

matlab结果输出小数

C++中,如何保留指定的小数位,不是COUT输出~

如何获得正确的小数作为简单分数的输出

pycharm编译乘法计算问题?

Python:利用format格式输出"百分数"