[英]negative number input(EditText) getting unsigned
我正在做一个电缆长度计算器,但我在处理负数时遇到了麻烦。
EditTexts 是这样的
<EditText android:layout_height="wrap_content" android:layout_weight="1" android:inputType="numberDecimal|numberSigned" android:layout_width="40px" android:id="@+id/rxmax">
</EditText>
然后我像这样使用它们:
final EditText rxmax = (EditText) findViewById(R.id.rxmax);
double RXmax = new Double(rxmax.getText().toString());
在我做了一个简单的计算之后:
double OPBmax = TXmax - RXmax;
某处输入的负数变为正数。 我在猜测 toString 对话,但我没有找到任何关于如何防止这种情况的信息。
使用android:digits="0123456789"
前任:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="0123456789"
android:gravity="center"
android:inputType="numberSigned"
android:textColor="@color/black"
android:textSize="@dimen/font_size_small" />
我试过这个,它有效......
活动:
double RXmax;
EditText rxmax;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rxmax = (EditText) findViewById(R.id.rxmax);
tv = (TextView) findViewById(R.id.text);
}
public void click(View v) {
RXmax = new Double(rxmax.getText().toString());
tv.setText(Double.toString(RXmax));
}
主文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText android:layout_height="wrap_content"
android:layout_weight="1" android:inputType="numberDecimal|numberSigned"
android:layout_width="40px" android:id="@+id/rxmax">
</EditText>
<TextView android:id="@+id/text" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<Button android:layout_height="wrap_content" android:id="@+id/button1"
android:layout_weight="1" android:text="Button" android:layout_width="wrap_content"
android:onClick="click"></Button>
</LinearLayout>
如果我输入 -2,点击 TextView 后显示 -2.0
如果您使用的是 Eclipse,请尝试Project --> Clean... ,然后选择您的项目。 也许这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.