1

在我的 Java Jersey Rest 服务中,对于更新方法,值“money”在 server.xml 中表示为 long。有效值介于 30.00 和 500.00 之间

哪种方法更标准?我是否应该强制客户端将货币值发送为 30.00 并在服务器中手动解析,而不是使其加倍/长。或以 3000 发送并以这种方式解析。或者在 java/jerseylibrary 中已经有办法做到这一点。

@PUT
@Path("/money")
@Consumes("text/plain)
public void updateThreshold(String threshold) {

*//check value and update in server*
}

注意:我不想使用参数化请求将参数类型设置为双精度

4

2 回答 2

1

以美分为单位保存所有数据会容易得多。它避免了一些可能的四舍五入问题和不同的数据格式(在这些国家使用“,”作为分隔符,在其他“。”中),也更好地在数据库中存储和排序 int 值。

于 2013-01-04T14:59:11.270 回答
0

如果您不能选择使用美分,那么让用户传递一个字符串然后使用 Float.parseFloat(floatval) 怎么样?

适用于字符串输入,例如:30.98、30 和 30.00 示例:

    String amount1 = "30.98";
    String amount2 = "30";
    String amount3 = "30.00";
    System.out.println("Amount :: " + Float.parseFloat(amount1));
    System.out.println("Amount :: " + Float.parseFloat(amount2));
    System.out.println("Amount :: " + Float.parseFloat(amount3));

输出:

Amount :: 30.98
Amount :: 30.0
Amount :: 30.0
于 2013-01-04T15:21:37.180 回答