我想开发应用程序,在这里我必须处理代表比特币数量的数字。我的任何搜索都使我“使用RPC和钱包”,但这完全不是主题。
我要介绍的内容如下:
Int32和float是不合适的类型。 20999999.99999999 + 0.00000001应该严格等于21000000
答案 0 :(得分:2)
使用JavaScript Number实现无法实现。 要么存储Satoshi的总数,要么存储比特币的总数,例如
render() {
const { classes, children } = this.props;
const { mobileOpen} = this.state;
const drawer = (
<div>
<Hidden smDown>
<div className={classes.toolbar} />
</Hidden>
<MenuList>
<MenuItem component={Link} to="/">
Home
</MenuItem>
<MenuItem component={Link} to="/PatientdataPatient" >
Users
</MenuItem>
</MenuList>
</div>
);
return (
<div className={classes.root}>
<CssBaseline />
<AppBar position="fixed" className={classes.appBar}>
......code
<Drawer
container={this.props.container}
variant="temporary"
open={mobileOpen}
onClose={this.handleDrawerToggle}
classes={{
paper: classes.drawerPaper,
}}
>
{drawer}
</Drawer>
</Hidden>
<Hidden xsDown implementation="css">
<Drawer
classes={{
paper: classes.drawerPaper,
}}
variant="permanent"
open
>
{drawer}
</Drawer>
</Hidden>
</nav>
<main className={classes.content}>
<div className={classes.toolbar} />
{children}
</main>
</div>
);
}
}
另一种选择是使用https://github.com/MikeMcl/bignumber.js/之类的BigNumber库,这会降低性能,但允许对任何数字进行精确计算。