【发布时间】:2015-07-02 23:04:42
【问题描述】:
我需要发送一个包含双精度值的 USSD 代码,它表示要转移的余额账户金额。该值由一个整数、一个可选的小数分隔符和另外 2 个数字组成。我的代码如下所示:
double doubleValue = 0.70;
String phoneNumber = "51234567", pincode = "1234";
String ast = Uri.encode("*");
String baseUssd = ast + "234" + ast + "1" + ast + phoneNumber + ast + pincode + ast;
StringBuilder builder = new StringBuilder();
builder.append(baseUssd);
builder.append(doubleValue); //i.e: 1.35, 0.80
builder.append(Uri.encode("#"));
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + builder.toString()));
startActivity(intent);
我的手机将 doubleValue 视为 135、080 等,忽略了点分隔符。我希望最终代码包含“点”,允许发送十进制值。有人解决了这个问题吗?
【问题讨论】:
-
明天我将在这里开始赏金,但我认为您必须添加更多代码,例如 vars doubleValue 和 pincode,这可以帮助其他人用户找到答案
-
你有预付款吗?
-
不,我不知道。这两个答案的方法很好,但都没有解决问题。第二个可能让自己与 Etecsa 对话,但是……这只是一种可能性
标签: android decimal separator currency ussd