message: Fix issue by printing .raw only when equivalent to .value.
diff: @@ -772,9 +772,12 @@ function genericPrintNoParens(path, options, print) {
  return fromString(n.value + "n");
  case "NumericLiteral": // Babel 6 Literal Split
  - // keep original representation for values not in base 10
  - if (n.extra && typeof n.extra.raw === "string")
  + // Keep original representation for numeric values not in base 10.
  + if (n.extra &&
  + typeof n.extra.raw === "string" &&
  + Number(n.extra.raw) === n.value) {
  return fromString(n.extra.raw, options);
  + }
  return fromString(n.value, options);
  @@ -782,10 +785,15 @@ function genericPrintNoParens(path, options, print) {
  case "StringLiteral": // Babel 6 Literal split
  case "Literal":
  - // numeric values may be in bases other than 10
  - // Use their raw representation for esprima
  + // Numeric values may be in bases other than 10. Use their raw
  + // representation if equivalent.
  + if (typeof n.value === "number" &&
  + typeof n.raw === "string" &&
  + Number(n.raw) === n.value) {
  + return fromString(n.raw, options);
  + }
  +
  if (typeof n.value !== "string") {
  - if (typeof n.raw === "string") return fromString(n.raw, options);
  return fromString(n.value, options);
  }
  