Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中维护客户端提供的数据中浮点数和整数之间的数据类型_Javascript - Fatal编程技术网

在Javascript中维护客户端提供的数据中浮点数和整数之间的数据类型

在Javascript中维护客户端提供的数据中浮点数和整数之间的数据类型,javascript,Javascript,这是我的第一个问题,所以请忽略任何错误,并指出给我,这样我可以纠正自己 我们有一个非常古老的JavaScript SDK,在这个SDK中对这个脚本进行更改非常困难 我们在脚本SDK.dispatch(“action”,value)中有这个函数。此函数必须由客户端调用,并且客户端可以向其传递任何类型的数据。 现在出现了这样一种情况,客户机调用SDK.dispatch(“addtocart”,{item:“name”,price:120.00}。120.00是一个浮点值 后端需要值和数据类型 但是,

这是我的第一个问题,所以请忽略任何错误,并指出给我,这样我可以纠正自己

我们有一个非常古老的JavaScript SDK,在这个SDK中对这个脚本进行更改非常困难

我们在脚本SDK.dispatch(“action”,value)中有这个函数。此函数必须由客户端调用,并且客户端可以向其传递任何类型的数据。 现在出现了这样一种情况,客户机调用SDK.dispatch(“addtocart”,{item:“name”,price:120.00}。120.00是一个浮点值 后端需要值和数据类型

但是,JavaScript内部将120.00从float更改为int,因为我们无法事先知道数据类型,所以我们将错误的数据类型传递到后端

我正在寻找一些关于如何在JavaScript sdk中维护数据及其类型的见解。 例如

在向函数接受数据时,如何维护有效负载的数据类型。因为我的后端取决于数据类型。 谢谢你的见解

smartech('dispatch', 'myEvent', {price: 115.00});
// this line of code executed by client and 
// we don't have control over the value of price and data type
function dispatch(event, payload) {
 // event = myEvent
 // payload = {price: 115.00} 
 /* in this price attribute is a float send by a client but gets converted to integer by JavaScript we need the datatype to be maintained by JS as our backend required datatype, or it breaks
 */

 /* 
    Business logic : send data to backend
 */

 var promise = new Promise (function (resolve, reject) {
    var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    /*if (this.readyState == 4 && this.status == 200) {
     resolve(true);
    } else {
     reject(false);
    }*/
  };
  xhttp.open("POST", "backendURL", payload);
  xhttp.send();
 });
}