小编Bra*_*ace的帖子

将BigDecimal舍入为*always*有两个小数位

我正在尝试将BigDecimal值向上舍入到小数点后两位.

我正在使用

BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING));
logger.trace("rounded {} to {}", value, rounded);
Run Code Online (Sandbox Code Playgroud)

但它不能始终如一地做我想做的事:

rounded 0.819 to 0.82
rounded 1.092 to 1.1
rounded 1.365 to 1.4 // should be 1.37
rounded 2.730 to 2.8 // should be 2.73
rounded 0.819 to 0.82
Run Code Online (Sandbox Code Playgroud)

我不关心有效数字,我只想要两位小数.我如何使用BigDecimal执行此操作?或者是否有另一个类/库更适合这个?

java math rounding bigdecimal

198
推荐指数
1
解决办法
18万
查看次数

jQuery隐藏元素,同时在页面布局中保留其空间

有没有一种方法可以在jQuery中隐藏一个元素,但是当隐藏它时不能更改DOM?我隐藏了某个元素但是当它被隐藏时,它下面的元素会向上移动.我不希望这种情况发生.我希望空间保持不变,但随意显示/隐藏的元素.

我可以这样做吗?

html jquery

161
推荐指数
5
解决办法
9万
查看次数

你能帮我理解一下吗?"常见的REST错误:会话无关紧要"

免责声明:我是REST学校的新手,我正试图围绕它思考.

所以,我正在阅读这个页面,常见的REST错误,而且我发现我对会话无关紧要的部分感到困惑.这就是页面所说的内容:

客户端不需要"登录"或"启动连接".HTTP验证在每条消息上自动完成.客户端应用程序是资源的消费者,而非服务.因此没有什么可登录的!假设您在REST网络服务上预订航班.您不创建与服务的新"会话"连接.而是要求"行程创建者对象"为您创建一个新的行程.您可以开始填充空白,然后在网络上的其他地方获得一些完全不同的组件以填充其他一些空白.没有会话,因此在客户端之间迁移会话状态没有问题.也没有"会话亲和力"的问题

好的,我得到HTTP身份验证是在每条消息上自动完成的 - 但是如何?是否每次请求都会发送用户名/密码?那不就是增加攻击面积吗?我觉得我错过了这个难题的一部分.

例如,拥有一个/session接受GET请求的REST服务是不是很糟糕,在请求中传入用户名/密码,如果验证成功则返回会话令牌,然后可以随后的请求传递?从REST的角度来看,这是否有意义,还是忽略了这一点?

rest session

159
推荐指数
5
解决办法
4万
查看次数

如何修剪数组中的所有字符串?

如果我有这个数组:

array("  hey  ", "bla  ", "  test");
Run Code Online (Sandbox Code Playgroud)

我想修剪所有这些,我该怎么做?

修剪后的数组:

array("hey", "bla", "test");
Run Code Online (Sandbox Code Playgroud)

php arrays trim

153
推荐指数
2
解决办法
9万
查看次数

正则表达式匹配以"stop"开头的字符串

如何创建正则表达式以匹配字符串开头的单词.我们希望stop在字符串的开头匹配,任何东西都可以跟随它.

例如,表达式应匹配:

stop
stop random
stopping
Run Code Online (Sandbox Code Playgroud)

谢谢.

regex

86
推荐指数
6
解决办法
34万
查看次数

"class:"在C++中意味着什么?

我以前从未见过它.我认为这是":: sample"的拼写错误,但是当我看到它实际编译时我很困惑.有人能帮我找到吗?我不认为这是一个goto标签.

void f() {
  class: sample {
    // there were some members declared here
  } x;
}
Run Code Online (Sandbox Code Playgroud)

c++ class colon

78
推荐指数
2
解决办法
4752
查看次数

处理ANTLR4中的错误

解析器不知道该怎么做的默认行为是将消息打印到终端,如:

第1:23行丢失DECIMAL at'}'

这是一个好消息,但在错误的地方.我宁愿接受这个作为例外.

我已经尝试过使用了BailErrorStrategy,但这会抛出ParseCancellationException没有消息(由a引起InputMismatchException,也没有消息).

有没有办法让我通过异常报告错误,同时保留邮件中的有用信息?


这就是我真正想要的 - 我通常在规则中使用动作来构建对象:

dataspec returns [DataExtractor extractor]
    @init {
        DataExtractorBuilder builder = new DataExtractorBuilder(layout);
    }
    @after {
        $extractor = builder.create();
    }
    : first=expr { builder.addAll($first.values); } (COMMA next=expr { builder.addAll($next.values); })* EOF
    ;

expr returns [List<ValueExtractor> values]
    : a=atom { $values = Arrays.asList($a.val); }
    | fields=fieldrange { $values = values($fields.fields); }
    | '%' { $values = null; }
    | ASTERISK { $values = values(layout); }
    ;
Run Code Online (Sandbox Code Playgroud)

然后当我调用解析器时,我做了类似这样的事情:

public …
Run Code Online (Sandbox Code Playgroud)

java error-handling antlr4

70
推荐指数
3
解决办法
3万
查看次数

查找数组中最长的字符串

有没有一种简短的方法可以找到字符串数组中最长的字符串?

有点像arr.Max(x => x.Length);

javascript

68
推荐指数
6
解决办法
9万
查看次数

MySQL JOIN与LEFT JOIN的区别

我有这个跨数据库查询...

SELECT
            `DM_Server`.`Jobs`.*,
            `DM_Server`.servers.Description AS server,
            digital_inventory.params,
            products.products_id,
            products.products_pdfupload,
            customers.customers_firstname,
            customers.customers_lastname
        FROM `DM_Server`.`Jobs`
        INNER JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID
        JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name
        JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf")
        JOIN `cpod_live`.`customers` ON customers.customers_id = products.cID
        ORDER BY `DM_Server`.`Jobs`.Jobs_StartTime DESC LIMIT 50
Run Code Online (Sandbox Code Playgroud)

它运行良好,直到我做它们LEFT JOIN.我认为通过不指定一种类型的连接,它被认为是一种LEFT JOIN.这不是这种情况吗?

mysql inner-join query-optimization left-join

65
推荐指数
4
解决办法
8万
查看次数

使用Google Maps API进行地址验证

我有一项任务是验证输入到我当前正在创建的系统中的地址.系统要求输入的地址针对有效数据源进行验证.在英国,数据集来自皇家邮政,访问费用昂贵.

所需的数据是整个欧洲的邮政编码信息,首先由API访问Web应用程序.

有很多公司提供这项服务,

  1. QAS
  2. Capscan
  3. 邮编在任何地方

这些都提供我需要的服务.然而,这是昂贵的,并且在某些情况下不是完整的数据集.例如不是爱尔兰

我还想知道是否有办法利用Google Maps API通过邮政编码和国家来验证这些数据.

谷歌地图方法是否可行,或者我是否必须离开其中一家昂贵的公司?关于我应该采取哪种方式的任何想法.

api geolocation postal-code street-address

63
推荐指数
5
解决办法
17万
查看次数