首页 > 其他分享 >就是这个样的粗爆,手搓一个计算器:角度单位换算计算器

就是这个样的粗爆,手搓一个计算器:角度单位换算计算器

时间:2024-11-12 12:18:02浏览次数:3  
标签:case color 计算器 break 角度 换算 inputValue background valueInDegrees

       作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。

HTML:

<div class="calculator"><label for="inputValue">输入角度值:</label> <input id="inputValue" type="number" placeholder="请输入数值"> <label for="inputUnit">选择输入单位:</label><select id="inputUnit"><option value="degrees">度 (°)</option><option value="radians">弧度 (rad)</option><option value="gradians">梯度 (gons)</option></select><label for="outputUnit">选择输出单位:</label><select id="outputUnit"><option value="degrees">度 (°)</option><option value="radians">弧度 (rad)</option><option value="gradians">梯度 (gons)</option></select><button onclick="convertAngle()">计算</button><div class="result"><p>转换结果:</p><p id="outputValue">0</p></div></div>

JS:

function convertAngle() {
    const inputValue = parseFloat(document.getElementById('inputValue').value);
    const inputUnit = document.getElementById('inputUnit').value;
    const outputUnit = document.getElementById('outputUnit').value;

    if (isNaN(inputValue)) {
        alert('请输入有效的角度值');
        return;
    }

    let valueInDegrees;

    // Convert input value to degrees
    switch (inputUnit) {
        case 'degrees':
            valueInDegrees = inputValue;
            break;
        case 'radians':
            valueInDegrees = inputValue * (180 / Math.PI);
            break;
        case 'gradians':
            valueInDegrees = inputValue * (9 / 10);
            break;
    }

    // Convert degrees to output unit
    let convertedValue;
    switch (outputUnit) {
        case 'degrees':
            convertedValue = valueInDegrees;
            break;
        case 'radians':
            convertedValue = valueInDegrees * (Math.PI / 180);
            break;
        case 'gradians':
            convertedValue = valueInDegrees * (10 / 9);
            break;
    }

    document.getElementById('outputValue').textContent = convertedValue.toFixed(2);
}

CSS:

.calculator {
    width: 300px;
    background-color: #333;
    color: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}


label {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
}

input, select {
    width: 100%!important;
    padding: 10px!important;
    margin-bottom: 20px;
       color: #000000; 
    border-radius: 5px;
    border: 1px solid #555;
    font-size: 16px!important;
    background-color: #ffffff!important;
}

button {
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

button:hover {
    background-color: orange;
}

.result {
    margin-top: 20px;
    text-align: center;
}

option {
        background-color: #ffffff;
}


p {
    font-size: 18px;
        margin-top: 5px!important;
}

线上运行,可以直接打开:角度单位换算计算器  (在线计算器)

标签:case,color,计算器,break,角度,换算,inputValue,background,valueInDegrees
From: https://blog.csdn.net/yuchangchenTT/article/details/143678775

相关文章

  • 《【NOIP2000 基础】计算器的改良》 不全对题解
    温馨提示,本题难度略大,本人写不出来正确代码,文章代码并不对,只是提供一些思路,希望大家能谅解!目录题目描述输入描述输出描述解析完整代码描述NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一......
  • JavaScript题目三 制作简易计算器
    目标:提供四个基本的运算功能:加、减、乘、除。支持数字输入和运算符输入。显示结果。1.HTML文件(index.html)<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,i......
  • Openlayers实现角度测量
    概述在前面介绍了如何在Openlayers中进行长度和面积的测量,可以参考:《Openlayers实现长度测量》,《openlayers实现面积测量》。那么如何在Openlayers中进行角度的测量呢?很遗憾ol/sphere模块中没有提供对应角度测量的API或方法,但是我们可以自己实现。实践效果展示......
  • 科普文:软件架构Linux系列之【从硬件角度了解固态盘SSD】
    概叙科普文:软件架构Linux系列之【并发问题的根源:CPU缓存模型详解】-CSDN博客科普文:软件架构Linux系列之【从硬件角度了解内存DRAM和DDR5】-CSDN博客科普文:软件架构Linux系列之【读懂Linux内存管理:mmap(Memory-MappedFile)内存映射文件】-CSDN博客科普文:软件架构Linux系列之......
  • Win11计算器 科学模式
    不再盲目按!带你了解Win11计算器各个按键的功用_缩写_三角函数_显示(22条消息)计算器上DEGRADGRAD是什么意思有什么区别?-知乎【MC】memoryclear的缩写,作用是删除记忆按键刚才保存的内容【MR】memoryrecall的缩写,作用是读取记忆按键存储的内容,用来显示按下记忆按键时的......
  • 绞尽脑汁终于搞定/天地图标注点marker旋转/任意角度旋转/无需引入其他框架
    一、前言说明在其他地图组件中,标注点marker都是可以设置旋转角度的,这个功能其实非常实用,比如飞机移动轨迹,就是需要旋转飞机头飞行,轮船轨迹移动也是,百度地图和腾讯地图是通过调用setRotation函数设置,高德地图是setAngle,唯独天地图没有提供对应接口,找遍了文档和源码,也没有找到对应......
  • CDGP|数据治理如何落地?多角度详细探讨
    数据治理是一个长期且复杂的体系化工程,它通过一系列流程规范、制度、IT能力以及持续运营等机制来保障治理工作的持续推进。落地数据治理需要从多个方面入手,本文将从组织建设、流程规范、IT平台以及持续运营等角度详细探讨。一、建立数据治理组织数据治理需要打破企业内部壁......
  • 《高频电子线路》—— 角度调制(调相、调频)
     文章内容来源于【中国大学MOOC华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。目录角度调制(调相、调频)角度调制的原因调频VS调幅角度调制的分类本章重难点调相时域(表达式)时域(波形-单频调制)小结调频时域(表达式)时域(波形-单频调制)小结 调......
  • 中药材快速计算器 可以从Excel导入药品单价信息 佳易网中药复制文本划价管理系统操作
    一、概述【软件试用版文件资源可以点文章最后官网卡片按钮了解】中药材快速计算器可以从Excel导入药品单价信息 ‌核心功能‌:可快速划价计算出总金额,支持多副药方计算,并保存记录。‌操作简便‌:用户只需复制药方文本,点击划价按钮,即可自动计算出金额。可以从Excel表格导入......
  • python实现简单计算器
    需求使用python的tkinter库实现简单的加减乘除计算器程序,并展示界面程序效果代码实现importtkinterastkclassCalculator:def__init__(self,master):self.master=mastermaster.title("计算器")#创建显示屏self.disp......