MS Excel 提供了一组处理复数的函数。显示实数时,可以从“设置单元格格式”对话框中设置小数位精度。但是,它不适用于复数。
如何设置复数的显示精度?是否有自定义模板可用于此目的?
0.98078528040323+0.195090322016128i
-->0.980+0.195i
答案1
您可以将复杂公式包装在进行格式化的 UDF 中:
Function FormatComplex(r As Variant, fmt As String) As String
With Application.WorksheetFunction
FormatComplex = Format(.ImReal(r), fmt) & Format(.Imaginary(r), fmt) & "i"
End With
End Function
称之为
=FormatComplex(IMSQRT(-2),"+0.000")
结果:
+0.000+1.414i
答案2
要通过公式(在不同的单元格中)实现此目的,您可以使用以下内容,其中未格式化的复数位于A1
:
=COMPLEX(VALUE(TEXT(IMREAL(A1),"0.000")),VALUE(TEXT(IMAGINARY(A1),"0.000")))