{"id":2093,"date":"2025-04-07T22:10:33","date_gmt":"2025-04-07T22:10:33","guid":{"rendered":"https:\/\/kampongkoh.com.au\/?p=2093"},"modified":"2025-04-20T07:38:17","modified_gmt":"2025-04-20T07:38:17","slug":"01-0005-%e8%82%a1%e7%a5%a8%e5%88%86%e6%9e%90%e5%b7%a5%e5%85%b7-gdp-%e9%80%89%e5%a5%bd%e8%82%a1","status":"publish","type":"post","link":"https:\/\/kampongkoh.com.au\/?p=2093","title":{"rendered":"01.0005 \u80a1\u7968\u5206\u6790\u5de5\u5177 | GDP \u9009\u597d\u80a1"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  .panel {\n    background: white;\n    padding: 20px;\n    border-radius: 12px;\n    max-width: 500px;\n    margin: auto;\n    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);\n    font-family: Arial, sans-serif;\n  }\n  h2 {\n    color: #333;\n    margin-top: 0;\n  }\n  label {\n    display: block;\n    margin-top: 12px;\n  }\n  input {\n    padding: 8px;\n    width: 100%;\n    margin-top: 5px;\n    border-radius: 6px;\n    border: 1px solid #ccc;\n    box-sizing: border-box;\n  }\n  button {\n    margin-top: 20px;\n    width: 100%;\n    padding: 12px;\n    font-size: 16px;\n    background-color: #0078d7;\n    color: white;\n    border: none;\n    border-radius: 6px;\n    cursor: pointer;\n  }\n  button:hover {\n    background-color: #005bb5;\n  }\n  #result {\n    margin-top: 20px;\n    padding: 15px;\n    background-color: #f9f9f9;\n    border: 1px solid #ccc;\n    border-radius: 8px;\n    white-space: pre-line;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n<\/style>\n\n<div class=\"panel\">\n  <h2>1. GDP Dividend % \u80a1\u606f\u5bfc\u5411\u8ba1\u5206\u8868<\/h2>\n\n  <label for=\"dy\">Dividend Yield (%):<\/label>\n  <input type=\"number\" step=\"0.1\" id=\"dy\" placeholder=\"\u4f8b\u5982\uff1a4.5\">\n\n  <label for=\"growth\">Growth (%):<\/label>\n  <input type=\"number\" step=\"0.1\" id=\"growth\" placeholder=\"\u4f8b\u5982\uff1a10.0\">\n\n  <label for=\"per\">P\/E Ratio:<\/label>\n  <input type=\"number\" step=\"0.1\" id=\"per\" placeholder=\"\u4f8b\u5982\uff1a15.0\">\n\n  <button onclick=\"calculateScore()\">\u8ba1\u7b97\u603b\u5206\u53ca\u8bc4\u7ea7<\/button>\n\n  <div id=\"result\"><\/div>\n<\/div>\n\n<script>\n  function calculateScore() {\n    const x1 = parseFloat(document.getElementById(\"dy\").value);\n    const x2 = parseFloat(document.getElementById(\"growth\").value);\n    const x3 = parseFloat(document.getElementById(\"per\").value);\n\n    if (isNaN(x1) || isNaN(x2) || isNaN(x3)) {\n      alert(\"\u8bf7\u8f93\u5165\u6709\u6548\u7684\u6570\u503c\uff08\u652f\u6301\u5c0f\u6570\uff09\");\n      return;\n    }\n\n    let DY = 0;\n    if (x1 >= 1.0 && x1 <= 2.5) DY = 20;\n    else if (x1 >= 2.6 && x1 <= 4.5) DY = 30;\n    else if (x1 >= 4.6 && x1 <= 6.9) DY = 40;\n    else if (x1 >= 7.0) DY = 50;\n\n    let G = 0;\n    if (x2 >= 1.0 && x2 <= 5.5) G = 5;\n    else if (x2 >= 5.6 && x2 <= 9.5) G = 10;\n    else if (x2 >= 9.6 && x2 <= 14.9) G = 15;\n    else if (x2 >= 15.0) G = 20;\n\n    let PER = 0;\n    if (x3 >= 0.1 && x3 <= 9.9) PER = 30;\n    else if (x3 >= 10 && x3 <= 16) PER = 20;\n    else if (x3 >= 16.1 && x3 <= 24.9) PER = 10;\n    else if (x3 >= 25) PER = 5;\n\n    const total = DY + G + PER;\n\n    let grade = \"\";\n    if (total >= 90) grade = \"A\";\n    else if (total >= 70) grade = \"B\";\n    else if (total >= 50) grade = \"C\";\n    else if (total >= 30) grade = \"D\";\n    else grade = \"E\";\n\n    document.getElementById(\"result\").innerText =\n      `Dividend Yield (DY) = ${DY} \u5206\\n` +\n      `Growth (G) = ${G} \u5206\\n` +\n      `P\/E Ratio (PER) = ${PER} \u5206\\n` +\n      `\ud83d\udc49 Total Score = ${total} \u5206\\n` +\n      `\ud83d\udcca \u7b49\u7ea7\uff1a${grade} \u7ea7`;\n  }\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  .calculator {\n    background: white;\n    padding: 20px;\n    border-radius: 12px;\n    max-width: 500px;\n    margin: auto;\n    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);\n    font-family: Arial, sans-serif;\n  }\n  h2 {\n    margin-top: 0;\n    color: #333;\n  }\n  label {\n    display: block;\n    margin-top: 10px;\n  }\n  input, button {\n    width: 100%;\n    padding: 10px;\n    margin-top: 6px;\n    border-radius: 6px;\n    border: 1px solid #ccc;\n    box-sizing: border-box;\n  }\n  button {\n    background-color: #0078d7;\n    color: white;\n    font-size: 16px;\n    margin-top: 16px;\n    cursor: pointer;\n    border: none;\n  }\n  button:hover {\n    background-color: #005bb5;\n  }\n  .result {\n    margin-top: 20px;\n    padding: 15px;\n    background-color: #e8f5e9;\n    border: 1px solid #ccc;\n    border-radius: 8px;\n    line-height: 1.6;\n  }\n<\/style>\n\n<div class=\"calculator\">\n  <h2>2. \u590d\u5229\u8ba1\u7b97\u5668\uff08Compound Interest\uff09<\/h2>\n\n  <label>\u6295\u8d44\u91d1\u989d :<\/label>\n  <input type=\"number\" id=\"amount\" placeholder=\"\u8bf7\u8f93\u5165\u91d1\u989d\uff08\u4f8b\u5982 10000\uff09\">\n\n  <label>\u5e74\u590d\u5229\u5229\u7387 % :<\/label>\n  <input type=\"number\" id=\"rate\" placeholder=\"\u4f8b\u5982 6.5\">\n\n  <label>\u6295\u8d44\u5e74\u6570 :<\/label>\n  <input type=\"number\" id=\"years\" placeholder=\"\u4f8b\u5982 10\">\n\n  <button onclick=\"calculateCompoundInterest()\">\u8ba1\u7b97\u590d\u5229\u603b\u989d<\/button>\n\n  <div id=\"compoundResult\" class=\"result\"><\/div>\n<\/div>\n\n<script>\n  function calculateCompoundInterest() {\n    const principal = parseFloat(document.getElementById(\"amount\").value);\n    const rate = parseFloat(document.getElementById(\"rate\").value) \/ 100;\n    const years = parseFloat(document.getElementById(\"years\").value);\n\n    if (isNaN(principal) || isNaN(rate) || isNaN(years)) {\n      document.getElementById(\"compoundResult\").innerText = \"\u8bf7\u8f93\u5165\u6709\u6548\u6570\u5b57\uff01\";\n      return;\n    }\n\n    const finalAmount = principal * Math.pow((1 + rate), years);\n    const interestEarned = finalAmount - principal;\n\n    document.getElementById(\"compoundResult\").innerHTML = `\n      \u2705 <strong>${years} \u5e74\u540e\u7ed3\u679c<\/strong><br>\n      \ud83d\udd39 \u603b\u91d1\u989d\uff1a<strong>$${finalAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})} \u5143<\/strong><br>\n      \ud83d\udd38 \u672c\u91d1\uff1a$${principal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})} \u5143<br>\n      \ud83d\udd38 \u5229\u606f\u6536\u76ca\uff1a$${interestEarned.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})} \u5143\n    `;\n  }\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"calculator\">\n  <h2>3. Growth(%) (CAGR) \u589e\u957f\u7387\u8ba1\u7b97\u5668<\/h2> \n\n  <label>\u521d\u59cb\u91d1\u989d :<\/label>\n  <input type=\"number\" id=\"initialValue\" placeholder=\"\u4f8b\u5982 10000\">\n\n  <label>\u6700\u7ec8\u91d1\u989d :<\/label>\n  <input type=\"number\" id=\"finalValue\" placeholder=\"\u4f8b\u5982 20000\">\n\n  <label>\u5e74\u6570 :<\/label>\n  <input type=\"number\" id=\"cagrYears\" placeholder=\"\u4f8b\u5982 10\">\n\n  <button onclick=\"calculateCAGR()\">\u8ba1\u7b97 CAGR<\/button>\n\n  <div id=\"cagrResult\" class=\"result\"><\/div>\n<\/div>\n<style>\n  .calculator {\n    background: white;\n    padding: 20px;\n    border-radius: 12px;\n    max-width: 500px;\n    margin: 40px auto;\n    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);\n    font-family: Arial, sans-serif;\n  }\n  h2 {\n    margin-top: 0;\n    color: #333;\n  }\n  label {\n    display: block;\n    margin-top: 10px;\n  }\n  input, button {\n    width: 100%;\n    padding: 10px;\n    margin-top: 6px;\n    border-radius: 6px;\n    border: 1px solid #ccc;\n    box-sizing: border-box;\n  }\n  button {\n    background-color: #0073aa;\n    color: white;\n    font-size: 16px;\n    margin-top: 16px;\n    cursor: pointer;\n    border: none;\n  }\n  button:hover {\n    background-color: #005bb5;\n  }\n  .result {\n    margin-top: 20px;\n    padding: 15px;\n    background-color: #f9f9f9;\n    border: 1px solid #ccc;\n    border-radius: 8px;\n    line-height: 1.6;\n  }\n<\/style>\n\n<script>\nfunction calculateCAGR() {\n  const initialValue = parseFloat(document.getElementById(\"initialValue\").value);\n  const finalValue = parseFloat(document.getElementById(\"finalValue\").value);\n  const years = parseFloat(document.getElementById(\"cagrYears\").value);\n\n  if (isNaN(initialValue) || isNaN(finalValue) || isNaN(years) || initialValue <= 0 || years <= 0) {\n    document.getElementById(\"cagrResult\").innerText = \"\u8bf7\u8f93\u5165\u6709\u6548\u7684\u6570\u5b57\uff0c\u4e14\u521d\u59cb\u91d1\u989d\u548c\u5e74\u9650\u5fc5\u987b\u5927\u4e8e0\u3002\";\n    return;\n  }\n\n  const cagr = Math.pow(finalValue \/ initialValue, 1 \/ years) - 1;\n\n  document.getElementById(\"cagrResult\").innerHTML = `\n    \ud83d\udcc8 <strong>${years} \u5e74\u7684 CAGR \u7ed3\u679c\uff1a<\/strong><br>\n    \ud83d\udd39 \u521d\u59cb\u91d1\u989d\uff1a$${initialValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}<br>\n    \ud83d\udd39 \u6700\u7ec8\u91d1\u989d\uff1a$${finalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}<br>\n    \u2705 \u5e74\u5316\u590d\u5408\u589e\u957f\u7387\uff08CAGR\uff09\uff1a<strong>${(cagr * 100).toFixed(2)}%<\/strong>\n  `;\n}\n<\/script>\n\n<script>\nfunction calculateCAGR() {\n  const initialValue = parseFloat(document.getElementById(\"initialValue\").value);\n  const finalValue = parseFloat(document.getElementById(\"finalValue\").value);\n  const years = parseFloat(document.getElementById(\"cagrYears\").value);\n\n  if (isNaN(initialValue) || isNaN(finalValue) || isNaN(years) || initialValue <= 0 || years <= 0) {\n    document.getElementById(\"cagrResult\").innerText = \"\u8bf7\u8f93\u5165\u6709\u6548\u7684\u6570\u5b57\uff0c\u4e14\u521d\u59cb\u91d1\u989d\u548c\u5e74\u9650\u5fc5\u987b\u5927\u4e8e0\u3002\";\n    return;\n  }\n\n  const cagr = Math.pow(finalValue \/ initialValue, 1 \/ years) - 1;\n\n  document.getElementById(\"cagrResult\").innerHTML = `\n    \ud83d\udcc8 <strong>${years} \u5e74\u7684 CAGR \u7ed3\u679c\uff1a<\/strong><br>\n    \ud83d\udd39 \u521d\u59cb\u91d1\u989d\uff1a$${initialValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}<br>\n    \ud83d\udd39 \u6700\u7ec8\u91d1\u989d\uff1a$${finalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}<br>\n    \u2705 \u5e74\u5316\u590d\u5408\u589e\u957f\u7387\uff08CAGR\uff09\uff1a<strong>${(cagr * 100).toFixed(2)}%<\/strong>\n  `;\n}\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3002\u3002\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-2093","post","type-post","status-publish","format-standard","hentry","category-01-"],"_links":{"self":[{"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=\/wp\/v2\/posts\/2093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2093"}],"version-history":[{"count":73,"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=\/wp\/v2\/posts\/2093\/revisions"}],"predecessor-version":[{"id":2873,"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=\/wp\/v2\/posts\/2093\/revisions\/2873"}],"wp:attachment":[{"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kampongkoh.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}