2015-12-07 66 views
0

我正在使用IBM Bluemix爲學校項目製作Web服務。如何在JSON中顯示小數位

我請求JSON從API,它返回這樣數據:

{"bovespa":{"cotacao":"46012","variacao":"+1.44"},"dolar":{"cotacao":"3.7340","variacao":"+0.03"},"euro":{"cotacao":"4.0376","variacao":"-0.54"},"atualizacao":"07\/12\/15 - 11:23"}

我的代碼顯示在每一個模板JADE這些變量。

我想知道,在JADE模板中,我可以以某種方式控制在JADE模板中顯示#{VariacaoDolar}的小數位數。

這裏是我的.js文件:

// Hello. 
 
// 
 
// This is JSHint, a tool that helps to detect errors and potential 
 
// problems in your JavaScript code. 
 
// 
 
// To start, simply enter some JavaScript anywhere on this page. Your 
 
// report will appear on the right side. 
 
// 
 
// Additionally, you can toggle specific options in the Configure 
 
// menu. 
 

 
function main() { 
 
    return 'Hello, World!'; 
 
} 
 

 
main();/*eslint-env node*/ 
 

 
//------------------------------------------------------------------------------ 
 
// node.js starter application for Bluemix 
 
//------------------------------------------------------------------------------ 
 

 
// HTTP request - duas alternativas 
 
var http = require('http'); 
 
var request = require('request'); 
 

 
// cfenv provides access to your Cloud Foundry environment 
 
// for more info, see: https://www.npmjs.com/package/cfenv 
 
var cfenv = require('cfenv'); 
 

 
//chama o express, que abre o servidor 
 
var express = require('express'); 
 

 
// create a new express server 
 
var app = express(); 
 

 
// serve the files out of ./public as our main files 
 
app.use(express.static(__dirname + '/public')); 
 

 
// get the app environment from Cloud Foundry 
 
var appEnv = cfenv.getAppEnv(); 
 

 
// start server on the specified port and binding host 
 
app.listen(appEnv.port, '0.0.0.0', function() { 
 
    // print a message when the server starts listening 
 
    console.log("server starting on " + appEnv.url); 
 
}); 
 

 

 
app.get('/home1', function (req,res) { 
 
    http.get('http://developers.agenciaideias.com.br/cotacoes/json', function (res2) { 
 
     var body = ''; 
 
     res2.on('data', function (chunk) { 
 
      body += chunk; 
 
     }); 
 
     res2.on('end', function() { 
 
      var json = JSON.parse(body); 
 
      var cotacao = json["bovespa"]["cotacao"]; 
 
      var CotacaoDolar = json["dolar"]["cotacao"]; 
 
      var VariacaoDolar = json["dolar"]["variacao"]; 
 
      var CotacaoEuro = json["euro"]["cotacao"]; 
 
      var VariacaoEuro = json["euro"]["variacao"]; 
 
      var Atualizacao = json["atualizacao"]; 
 
\t \t \t 
 
\t \t \t console.log('url', req.originalUrl); 
 
\t \t \t 
 
\t \t \t obj=req.query; 
 
\t \t \t 
 
\t \t \t DolarUsuario=obj['dolar']; 
 
\t \t \t RealUsuario=Number(obj['dolar'])*CotacaoDolar; 
 
\t \t \t 
 
\t \t \t EuroUsuario=obj['euro']; 
 
\t \t \t RealUsuario2=Number(obj['euro'])*CotacaoEuro; 
 
\t \t \t 
 
\t \t \t if (VariacaoDolar<0) { 
 
\t \t \t recomend= "Recomenda-se, portanto, comprar dólares."; 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t else if (VariacaoDolar=0){ 
 
\t \t \t \t recomend=""; 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t else { 
 
\t \t \t \t recomend="Recomenda-se,portanto, vender dólares."; 
 
\t \t \t \t } 
 
\t \t \t \t 
 
\t \t \t if (VariacaoEuro<0) { 
 
\t \t \t recomend2= "Recomenda-se, portanto, comprar euros."; 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t else if (VariacaoEuro=0){ 
 
\t \t \t \t recomend2=""; 
 
\t \t \t } 
 
\t \t \t else { 
 
\t \t \t \t recomend2="Recomenda-se,portanto, vender euros."; 
 
\t \t \t \t } \t 
 
\t \t \t \t 
 
\t \t \t res.render('cotacao_response.jade', { 
 
        \t \t 'CotacaoDolar':CotacaoDolar, 
 
\t \t \t \t \t \t 'VariacaoDolar':VariacaoDolar, 
 
\t \t \t \t \t \t 'Atualizacao':Atualizacao, 
 
\t \t \t \t \t \t 'RealUsuario':RealUsuario, 
 
\t \t \t \t \t \t 'DolarUsuario':DolarUsuario, 
 
\t \t \t \t \t \t 'CotacaoEuro':CotacaoEuro, 
 
\t \t \t \t \t \t 'VariacaoEuro':VariacaoEuro, 
 
\t \t \t \t \t \t 'RealUsuario2':RealUsuario2, 
 
\t \t \t \t \t \t 'recomend':recomend, 
 
\t \t \t \t \t \t 'recomend2':recomend2 
 
\t \t \t \t \t \t 
 
      }); 
 
\t \t \t var csv = require("fast-csv"); 
 

 
\t \t \t csv 
 
\t \t \t .fromPath("Cambio.csv") 
 
\t \t \t .on("record", function(data){ 
 
\t \t \t \t console.log(data); 
 
\t \t \t }) 
 
\t \t \t .on("end", function(){ 
 
\t \t \t \t console.log("done"); 
 
\t \t \t }); 
 
\t \t \t 
 
     }); 
 
    }); 
 
});

這裏是我的.jade文件:

doctype html 
 
html(lang="en") 
 
    head 
 
    title Cotação 
 
    link(rel='stylesheet',href='stylesheets/style.css') 
 
    body 
 
    h1 &nbsp&nbsp&nbspPara o Dólar: 
 
    h2 &nbsp&nbsp&nbspA taxa de câmbio é de #{CotacaoDolar} 
 
    h2 &nbsp&nbsp&nbspA variação do câmbio foi de #{VariacaoDolar}% desde sua última cotação. #{recomend} 
 
    h2 &nbsp&nbsp&nbspVocê tem #{DolarUsuario} dólares, que valem #{RealUsuario} reais. 
 
    br 
 
    h1 &nbsp&nbsp&nbspPara o Euro: 
 
    h2 &nbsp&nbsp&nbspA taxa de câmbio é de #{CotacaoEuro} R$. 
 
    h2 &nbsp&nbsp&nbspA variação do câmbio foi de #{VariacaoEuro}% desde sua última cotação. #{recomend2} 
 
    h2 &nbsp&nbsp&nbspVocê tem #{EuroUsuario} euros, que valem #{RealUsuario2} reais. 
 
    br 
 
    h3 &nbsp&nbsp&nbspEsses valores correspondem ao preço de compra em #{Atualizacao}. 
 
    h3 &nbsp&nbsp&nbspSe você quer aprender mais sobre câmbio, visite a #[a(href='https://pt.khanacademy.org/economics-finance-domain/core-finance/money-and-banking/currency-tutorial/v/currency-exchange-introduction') Khan Academy]. 
 
    h3 &nbsp&nbsp&nbspPara notícias do mercado de câmbio, acesse #[a(href='http://www.valor.com.br/search/apachesolr_search/c%C3%A2mbio?solrsort=created%20desc&filters=-type%3Avalor_international_conteudo%20-type%3Awall_street_journal%20-type%3Avalor_ri*%20-channel%3Ari') Valor Econômico]. 
 
    #container.col 
 
    p 
 
    p. 
 
    

回答

0

您需要改爲使用Float。使用以下功能將您的號碼轉換爲浮點數。浮點數將在小數點後具有正確的數字位數,並且不會像字符串一樣包裝。

var parsedNumber = parseFloat(youNumber); 
+0

而'.toFixed(N)' – CodingIntrigue