小编Rob*_*ews的帖子

Delphi Roundto和FormatFloat不一致

我在Delphi 2010中有一个四舍五入的奇数,其中一些数字在取整中四舍五入,但在formatfloat中向上取整。

我完全知道十进制数字的二进制表示形式有时会产生误导性的结果,但是在那种情况下,我希望formatfloat和roundto会给出相同的结果。

我也看到建议,这是应该使用“ Currency”的东西,但是正如您在下面看到的,Currency和Double给出的结果相同。

program testrounding;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,Math;

var d:Double;
    c:Currency;
begin
  d:=534.50;
  c:=534.50;
  writeln('Format: '  +formatfloat('0',d));
  writeln('Roundto: '+formatfloat('0',roundto(d,0)));
  writeln('C Format: '  +formatfloat('0',c));
  writeln('C Roundto: '+formatfloat('0',roundto(c,0)));
  readln;
end.
Run Code Online (Sandbox Code Playgroud)

结果如下:

Format: 535
Roundto: 534
C Format: 535
C Roundto: 534
Run Code Online (Sandbox Code Playgroud)

我已经看过为什么RoundTo(87.285,-2)=> 87.28的结果,建议的补救措施似乎并不适用。

delphi rounding-error

8
推荐指数
1
解决办法
260
查看次数

Google 钱包 API Codelabs 示例权限被拒绝

我正在研究使用 Google 钱包通过 Web/jwt 界面存储条形码(用于电子处方,如果重要的话)的可行性。

https://codelabs.developers.google.com/add-to-wallet-web#0

仔细遵循所有说明(包括“创建临时发行者帐户和示例类”),并将 issuesrid 和 classid 插入代码(以及 key.json 文件的正确路径)并添加 createPassAndToken ...失败并出现“403 Permission Denied”错误。

我找不到任何关于可能导致此问题的帮助。

一个可能的问题是,临时发行人帐户中返回的“Pass Class Id”采用 {$issuer_id}.{guid} 形式,并且示例 app.js 中的内部代码将 Issuer_id 作为请求的一部分前置,这导致我相信 class_id 应该只设置 guid,但我已经尝试了两种方法,但没有产生任何影响。

稍微有点恼火的是,所有指令都假设是 Linux 命令行,而我使用的是 Windows,但纠正起来并不困难。

任何帮助表示赞赏。

node.js android-pay google-codelab

3
推荐指数
1
解决办法
1156
查看次数