我正在研究一个非常基本的购物车系统.
我有一个items具有price类型列的表integer.
我无法在包括欧元和美分在内的价格中显示价格值.就Rails框架中的处理货币而言,我是否遗漏了一些明显的东西?
我有一个numberDecimal EditText,我想用正则表达式验证.在验证中我想要的是:
在小数点之前,我要输入的最大数字是3,数字不应该像零一样从零开始2,23,342,等等.
小数点后,我想进入的最大数字是一个像.1,.3,.6等等.
所以,我允许用户输入的数字一样2.1,32.5,444.8,564.9,等.
但在我的代码中,会发生什么:
它允许用户在小数点前输入超过三位数更像是3456,4444,5555之后,它不会让我以后输入小数点.
它允许我0在小数点之前输入数字的开头.
那么为什么会发生这种情况,我使用的正则表达式有什么不对吗?如果有人知道,请帮我解决这个问题.
我用过的代码:
weightEditText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s)
{
Pattern mPattern = Pattern.compile("^([1-9][0-9]{0,2})?(\\.[0-9]?)?$");
Matcher matcher = mPattern.matcher(s.toString());
if(!matcher.find())
{ …Run Code Online (Sandbox Code Playgroud) 我觉得这会更容易找到,但我很惊讶它不是.
如何在地球上测试字符串是否是模型外的数字(包括小数)?
例如
is_number("1") # true
is_number("1.234") # true
is_number("-1.45") # true
is_number("1.23aw") #false
Run Code Online (Sandbox Code Playgroud)
在PHP中,有is_numeric,但我似乎无法在Ruby(或Rails)中找到等价物.
到目前为止,我已经阅读了以下答案,并且没有更接近: