Convert System.Decimal from C# .NET to double

9 ビュー (過去 30 日間)
Christopher Saltonstall
Christopher Saltonstall 2023 年 8 月 3 日
コメント済み: Walter Roberson 2024 年 12 月 30 日
I am communicating with a Thorlabs DC servo controller via .NET. When I query the motor position it returns the value in system.decimal format. I found some documentation that briefly mentions this format but doesn't explain how to convert it to a usable numerical value.
How can I can I convert this to something usable?
The returned postion variable is attached.

採用された回答

Christopher Saltonstall
Christopher Saltonstall 2023 年 8 月 3 日
load 'pos.mat'
import System.*
methodsview('System.Decimal')
System.Decimal.ToDouble(pos)
  4 件のコメント
Walter Roberson
Walter Roberson 2023 年 9 月 29 日
Notes:
This can only work on Windows
You might need to do the import before the load, so that the class is defined at the time of the load()
Valeriy
Valeriy 2023 年 10 月 3 日
OK, I see it, thank you, it is attached

サインインしてコメントする。

その他の回答 (1 件)

Grace Kepler
Grace Kepler 2024 年 12 月 30 日
Here is an example without using "pos.mat".
>> xdecimal = System.Decimal(100.1)
xdecimal =
Decimal with properties:
Scale: 1
Zero: [1×1 System.Decimal]
One: [1×1 System.Decimal]
MinusOne: [1×1 System.Decimal]
MaxValue: [1×1 System.Decimal]
MinValue: [1×1 System.Decimal]
>> xdouble = System.Decimal.ToDouble(xdec)
xdouble =
100.1000
  1 件のコメント
Walter Roberson
Walter Roberson 2024 年 12 月 30 日
Note that System.Decimal is only available on MS Windows.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB Compiler SDK についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by