如何在Julia中利用Unitful从JSON字段构建带单位变量?
在Julia中用字典字符串单位构建Unitful量的方法
你遇到的问题核心在于:Quantity的第二个参数需要Unitful库的单位实例,而非普通字符串。要解决这个问题,只需用Unitful提供的uparse函数,将字符串形式的单位解析为对应的单位对象,再构建量即可。
方法1:简洁的乘法构造
using Unitful d = Dict("length"=>5, "length_units"=>"m") L = d["length"] * uparse(d["length_units"])
方法2:使用Quantity构造函数
如果你更习惯显式调用Quantity,只需把解析后的单位传入:
L = Quantity(d["length"], uparse(d["length_units"]))
扩展:支持复合单位
uparse同样能处理"m/s"、"kg·m/s²"这类复合单位:
d = Dict("force"=>10, "force_units"=>"N") F = d["force"] * uparse(d["force_units"]) # 直接解析复合单位字符串示例 d2 = Dict("speed"=>20, "speed_units"=>"m/s") v = Quantity(d2["speed"], uparse(d2["speed_units"]))
内容的提问来源于stack exchange,提问作者Nick-H
相关产品推荐
相关产品推荐

