-1
votes

Convertir un nombre décimal en pourcentage en JavaScript

J'ai fait un code pour retourner un JSON, exemple de ci-dessous:

53-34-98:0.0045, 98-11-00:0.09856, 44-22-88:0.09875, 22-98-90:0.3245


2 commentaires

Vous devez faire deux choses, fractionnez d'abord la valeur en plusieurs valeurs, par ex. Vous obtenez 53-34-98: 0.0045, vous avez donc divisé cela dans 2 variables 53-34-98 et 0,0045, puis la valeur que vous êtes après 0,0045 (la deuxième variable) * 100, puis vous ajoutez le caractère suivant ' % '. Si la variable initiale unique reçoit plusieurs valeurs, vous utilisez le ',' pour les diviser


Je pense que vous voulez dire 53-34-98: 0,45% au lieu de 53-34-98: 0,45% , non?


4 Réponses :


1
votes

Vous pouvez d'abord diviser la chaîne contenant vos données ( queryResult.final_matrix [index] code>) pour obtenir chaque pièce séparément, puis, pour chaque pièce, diviser à nouveau à l'aide de ":" code> et appliquer des mathématiques (multiplier par 100) pour obtenir le pourcentage:

p>

let input = "53-34-98:0.0045, 98-11-00:0.09856, 44-22-88:0.09875, 22-98-90:0.3245";

let times = input.split(", ");

const result = [];

times.forEach((elem) => 
{
  const tempArr = elem.split(":");
  result.push(tempArr[0] + ":" + (Math.round((tempArr[1] * 100) * 100) / 100) + "%");
});

let finalResult = result.join(", ");

console.log(finalResult);


0 commentaires

0
votes

Vous pouvez boucler, diviser selon les cordes, réduisant ainsi la gamme de jetons (celles séparées par virgule , code>) et enfin reconstruire les jetons avec les valeurs de pourcentage transformées.

p>

.as-console-wrapper { max-height: 100% !important; top: 0; }


0 commentaires

0
votes

Voici la conversion d'objet à l'aide de chaîne divisée code>, joindre code> méthodes.

p>

const convert = item => {
  const labels = item.labels.map(label => {
    if (label.value.includes("Idea")) {
      return {
        ...label,
        value: label.value
          .split(",")
          .map(val => {
            const strs = val.split(":");
            const last = strs.pop();
            strs.push(`${Math.round(Number(last) * 100 * 100) / 100}%`);
            return strs.join(":");
          })
          .join(",")
      };
    } else {
      return { ...label };
    }
  });
  return {
    ...item,
    labels
  };
};

const arr = [
  {
    id: "12345",
    header:
      '<a class="card-link" href="http://www.google.com" target="_blank"> 12345</a>- solved-1',
    title: "Training Summary Report",
    description: "",
    link: "",
    labels: [
      {
        filter: "type",
        value: "course 1"
      },
      {
        filter: "Subject",
        value: "Sub. 1239"
      },
      {
        filter: "Idea",
        value: "Idea . 53"
      }
    ]
  },
  {
    id: "12345",
    header:
      '<a class="card-link" href="http://www.google.com" target="_blank"> 12345</a>- solved-1',
    title: "Training Summary Report",
    description: "",
    link: "",
    labels: [
      {
        filter: "type",
        value: "course 1"
      },
      {
        filter: "Subject",
        value: "Sub. 1239"
      },
      {
        filter: "Idea",
        value:
          "Idea . 53-34-98:0.0045, 98-11-00:0.09856, 44-22-88:0.09875, 22-98-90:0.3245"
      }
    ]
  }
];

console.log(arr.map(convert));


0 commentaires

0
votes

1) boucle à vos données brutes
2) Sur la clé "Étiquette", recherchez la matrice avec "filtre" === 'Idea'

3) Effectuer la scission et rejoindre pour convertir xxx

démo < / p>


0 commentaires