안녕하세요 어떻게 문자열을 안드로이드에서 bigdecimal로 변환 할 수 있습니까?android에서 bigdecimal로 문자열 변환
이 내 첫번째 활동 :
public class ViewCartActivity extends Activity {
String mGrandTotal;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.viewcartactivity);
ListView mLstView1 = (ListView) findViewById(R.id.listView1);
TextView mTxtViewGrandTotal = (TextView) findViewById(R.id.mTxtViewGrandTotalValue);
Button mBtnSubmit = (Button) findViewById(R.id.mBtnSubmit);
ViewCartAdapter mViewCartAdpt = new ViewCartAdapter(
ViewCartActivity.this);
mLstView1.setAdapter(mViewCartAdpt);
if (Constants.mItem_Detail.size() > 0) {
Double mGTotal = Double.parseDouble(Constants.mItem_Detail.get(0)
.get(SingleMenuItem.KEY_TOTAL));
for (int i = 1; i < Constants.mItem_Detail.size(); i++) {
mGTotal = mGTotal
+ Double.parseDouble(Constants.mItem_Detail.get(i).get(
SingleMenuItem.KEY_TOTAL));
}
mGrandTotal = String.valueOf(mGTotal);
mTxtViewGrandTotal.setText("$" + mGrandTotal);
}
mBtnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), CustomerLogin.class);
i.putExtra("GrandTotal", mGrandTotal);
startActivity(i);
}
CustomerLogin.java (다음 활동) :
String mGrandTotal;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.customer_login);
Bundle b = getIntent().getExtras();
String total = b.getString("GrandTotal");
-----
------
if(isUserValidated && isPasswordValidated)
{
String s= getIntent().getStringExtra(mGrandTotal);
Intent intent = new Intent(CustomerLogin.this,PayPalIntegrationActivity.class);
intent.putExtra(mGrandTotal, s);
startActivity(intent);
}
PayPalIntegrationActivity.java (3 활동)과 같이 :
public class PayPalIntegrationActivity extends Activity implements OnClickListener {
String mGrandTotal;
private PayPal mPayPal;
private CheckoutButton launchPayPalButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pay_pal_integration);
-------
------
@Override
public void onClick(View v) {
payWithPaypal();
}
private PayPalPayment payWithPaypal() {
PayPalPayment newPayment = new PayPalPayment();
Intent in = getIntent();
String total = in.getStringExtra(mGrandTotal);
BigDecimal sPrice = new BigDecimal(total);
newPayment.setSubtotal(sPrice);
newPayment.setCurrencyType(Currency.getInstance(Locale.US));
내 paypalintegration 활동에 grandtotal 값을 전달해야합니다. 오류 다음
하지만 내 콘솔 창을 보여줍니다 12-21 05:52:09.571: E/AndroidRuntime(782): FATAL EXCEPTION: main
12-21 05:52:09.571: E/AndroidRuntime(782): java.lang.NullPointerException
12-21 05:52:09.571: E/AndroidRuntime(782): at java.math.BigDecimal.<init>(BigDecimal.java:483)
12-21 05:52:09.571: E/AndroidRuntime(782): at com.ssmobileproductions.catalogue.PayPalIntegrationActivity.payWithPaypal(PayPalIntegrationActivity.java:74)
12-21 05:52:09.571: E/AndroidRuntime(782): at com.ssmobileproductions.catalogue.PayPalIntegrationActivity.onClick(PayPalIntegrationActivity.java:66)
12-21 05:52:09.571: E/AndroidRuntime(782): at android.view.View.performClick(View.java:2408)
내 코드에서 me.whats 잘못 도움을 주시기 바랍니다.
I wish to need the o/p
은 다음과 같습니다
mGrandTotal 값은 마지막 활동에 나의 첫번째 활동 (paypalintegration 활동)에서 통과입니다
mGrandTotal 값이 행 아래로 설정되어 : newPayment.setSubtotal (sPrice);
어떻게 내가 당신을 BigDecimal 번호에 숫자가 아닌 문자열total
을 변환하려고하기 때문에이 오류가 발생하는
'BigDecimal'이 문자열''total ''을 어떤 숫자 값으로 어떻게 변환 할 것으로 예상합니까? –