n4r*_*zul 6 c# implementation units-of-measurement
我想实现一个简单的单位转换库用于食物测量,即杯子茶匙.捏,毫升,盎司,升,克,磅等等.有没有我可以使用的库,如果不是我想以下面的伪方式自己滚动:
enum Unit
{
Centimeters = 0,
Meter = 1,
Kilometer = 2
}
//| | | 0 | 1 | 2 |
//----------------------------------------------
//| | |Centimeters| Meters| Kilometers|
//----------------------------------------------
//|0|Centimeters|1 | 0.01 | 0.000001 |
//----------------------------------------------
//|1|Meters |100 | 1 | 1000 |
//----------------------------------------------
//|2|Kilometers |100000 | 1000 | 1 |
//----------------------------------------------
public float Convert(Unit UnitFrom, Unit UnitTo, UnitValue)
{
float factor = UnitMatrix[UnitFrom][Unit UnitTo];
return UnitValue * factor;
}
//Usage
Convert(Unit.Kilometers, Unit.Meters, 5)
// Lookup factor in this case would be the one at [2, 1] i.e. 1000 so output is 5000
Run Code Online (Sandbox Code Playgroud)
指针,陷阱,太天真了?任何帮助都会有用.我可以研究的当前开源实现也很棒.TIA
@n4rzul,我已经开始用 C# 开发一个开源测量单位库,可以轻松地根据您请求的任何单位进行扩展。请查看 Github 上的项目网站https://github.com/cureos/csunits,看看这个库是否满足您的需求。
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |