我想实现一个简单的单位转换库用于食物测量,即杯子茶匙.捏,毫升,盎司,升,克,磅等等.有没有我可以使用的库,如果不是我想以下面的伪方式自己滚动:
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 …Run Code Online (Sandbox Code Playgroud) 使用pintpint.UnitRegistry ,如何按维度过滤单位?例如,如何获得质量类型或体积类型的所有单位?
这是对Baggy add (+) work on MixHash weights的(有点迟到的)跟进吗?. MixHash 是一个很好的单位比较工具 - 因为我知道我的 dmix => ("m"=>2,"kg"=>1,"s"=>-2).MixHash 对于 'kg m2 per s2' 和 'kg.m^2/s^2' 等等。
这是我寻求的三重清晰度:
让我知道我是否可以提供代码或应该提交错误报告...
这个功能:
let convert (v: float<_>) =
match v with
| :? float<m> -> v / 0.1<m>
| :? float<m/s> -> v / 0.2<m/s>
| _ -> failwith "unknown"
Run Code Online (Sandbox Code Playgroud)
产生错误
类型'float <'u>'没有任何正确的子类型,不能用作类型测试或运行时强制的源.
有没有办法如何模式匹配度量单位?
对于我的Rails项目,我正在寻找一个可以转换质量,体积和其他单位的库.
我需要将kilogramms转换为gramms,升转换成汤匙等.
我想,它应该是这样的:
class Product < ActiveRecord:Base
acts_as_physical_unit, :volume, :mass, :count
end
class Ingredient < ActiveRecord:Base
acts_as_physical_unit, :volume, :mass, :count
end
olive_oil = Product.new(:name => "Olive Oil", :volume => "1000 ml")
caesar_salad = Recipe.new(:name => "Caesar salad",
:ingredients => [
Ingredient.new(:product => [olive_oil], :volume => "5 tablespoons")
]
# In ingredients of "Caesar Salad" are 5 tablespoons of "Olive Oil" specified.
# We should create "Caesar Salad" for 50 persons.
# How mutch bottles of "Olive Oil" should be ordered …Run Code Online (Sandbox Code Playgroud) gem units-of-measurement ruby-on-rails-plugins ruby-on-rails-3
考虑Scala中某些测量功能单元的简化片段:
object UnitsEx {
case class Quantity[M <: MInt, T: Numeric](value: T) {
private val num = implicitly[Numeric[T]]
def *[M2 <: MInt](m: Quantity[M2, T]) =
Quantity[M, T](num.times(value, m.value))
}
implicit def measure[T: Numeric](v: T): Quantity[_0, T] = Quantity[_0, T](v)
implicit def numericToQuantity[T: Numeric](v: T): QuantityConstructor[T] =
new QuantityConstructor[T](v)
class QuantityConstructor[T: Numeric](v: T) {
def m = Quantity[_1, T](v)
}
sealed trait MInt
final class _0 extends MInt
final class _1 extends MInt
}
Run Code Online (Sandbox Code Playgroud)
此代码段显示了我目前使用的用法和编译器错误:
import UnitsEx._
(1 m) * 1 …Run Code Online (Sandbox Code Playgroud) types scala compiler-errors units-of-measurement implicit-conversion
我(我应该)可以使用R属性来保存物理单位和类似信息作为用户的提示吗?
epsilon0 <- 8.854188e-12
# name <- "electric constant"
# source <- "CODATA"
# unit <- "F m-1"
Run Code Online (Sandbox Code Playgroud) 我正在尝试一个简单的演示,我给了元素颜色hsl.根据我的经验,我知道0CSS 中的(ZERO)是无单元的.如果要将0指定为值,则可以离开单位.
然而,hsl/hsla似乎并非如此.在Chrome和Firefox上,都会导致无效的属性值.
一个切线相关的问题是这个,但它包含的答案是零应该是指无规则的指标.
hsla(0,0%,0%,0)的任何错误,变成hsla(0,0,0,0)?(缺少百分号)
hsl(0,0,0) // error
hsl(0,0%,0) // error
hsl(0,0,0%) // error
Run Code Online (Sandbox Code Playgroud)
它是否专门设计用于零以外的单位?有没有这样的其他属性,其中一个单位在零旁边是必须的?
我怎么能在android中知道是使用公制还是帝国?我没有在Locale中看到任何选项,我唯一想到的是使用locale.getCountry(); 方法并检查该国家是否是英国,美国......但是,有没有一种机器人知道它的方法?
提前致谢!
我在文件中有这些尺寸
5.3 x 2.5 cm
11 x 11 mm
7 mm
13 x 12 x 14 mm
13x12cm
Run Code Online (Sandbox Code Playgroud)
我需要使用正则表达式使用python提取5.3 x 2.5厘米。
到目前为止,我的代码在下面,但无法正常工作
x = "\.\d{1,2}|\d{1,4}\.?\d{0,2}|\d{5}\.?\d?|\d{6}\.?"
by = "( )?(by|x)( )?"
cm = "(mm|cm|millimeter|centimeter|millimeters|centimeters)"
x_cm = "((" + x + " *(to|\-) *" + cm + ")" + "|(" + x + cm + "))"
xy_cm = "((" + x + cm + by + x + cm + ")" +"|(" + x + by + x + cm + ")" …Run Code Online (Sandbox Code Playgroud)