c 语言单位转换编程,单位转换程序
首先想到的是System.TimeSpan,其中同一个类表示时间,您可以通过属性以不同的单位访问它。
您可以在内部以某个常量单位(可能是SI)存储该值,并将其转换为属性getter / setter:
Distance d = new Distance;
d.Meters = 5000;
var km = d.Kilometers; // km = 5;
或者您可以为每个单元创建类:
public sealed class DistanceUnit
{
public DistanceUnit(string name, string symbol, double scale)
{
Name = name;
Symbol = symbol;
Scale = scale;
}
public string Name { get; private set; }
public string Symbol { get; private set; }
public double Scale { get; private set; }
}
public abstract class Distance
{
protected Distance(double value)
{
this.Value = value;
}
protected Distance()
{
}
public double Value { get; set; }
public abstract DistanceUnit Unit { get; }
public override string ToString()
{
return this.Value + " " + Unit.Symbol;
}
public static void Convert(TIn original, out TOut result)
where TIn : Distance, new()
where TOut : Distance, new()
{
result = new TOut();
var scale = result.Unit.Scale / original.Unit.Scale;
result.Value = original.Value * scale;
}
}
public sealed class Meter : Distance
{
private static readonly DistanceUnit s_Unit = new DistanceUnit("Meter", "m", 1);
public Meter(double value) : base(value)
{
}
public Meter()
{
}
public override DistanceUnit Unit
{
get { return s_Unit; }
}
}
public sealed class Kilometer : Distance
{
private static readonly DistanceUnit s_Unit = new DistanceUnit("Kilometer", "km", .001);
public Kilometer()
{
}
public Kilometer(double value)
: base(value)
{
}
public override DistanceUnit Unit
{
get { return s_Unit; }
}
}
用得像
Meter distanceHome = new Meter(10000);
Kilometer distanceInKMs;
Distance.Convert(distanceHome, out distanceInKMs); // distanceInKMs.Value = 10
c 语言单位转换编程,单位转换程序相关推荐
- c 语言单位转换编程,《C语言及程序设计》实践参考——单位转换对照表
返回:贺老师课程教学链接 项目要求 [项目3:单位转换对照表] 编程序生成一张从英尺到米的转换表(1米大约等于3.28英尺),以方便工厂里工人师傅使用.输出形式如下图所示,罗列了从0英尺到99英尺对 ...
- python单位转换编程英寸厘米_Python字节单位转换实例
我就废话不多说了,直接上代码! from enum import Enum class Values(): values={'B':1} @staticmethod def getValues(): ...
- android 单位转换工具,Android单位转换----常用单位转换工具类
前言 有一定开发经验的小伙伴肯定会发现这样一个问题,当我们用xml来写布局的时候,通常用的是dp.sp.(相信大家都知道为什么这样用).当我们用Java代码来创建View控件时,会发现方法接收的参数都 ...
- python单位转换编程_如何使用python编程将一组DNA序列转换为蛋白...
我正在使用python创建一个程序,该程序将一组DNA序列转换为氨基酸(蛋白质)序列.然后,我需要找到一个特定的子序列,并计算存在该特定子序列的序列数.这是我到目前为止的代码: #Open cDNA_ ...
- python单位转换编程英寸厘米_第一个Python程序的单位转换,python,换算
第一个python程序 humansize.py ,这个脚本定义了一个单一的函数,这个approximate_size()函数把一个精确到字节的文件大小计算成一个有漂亮格式(大约计算的)的大小. 脚本 ...
- 1032: 单位转换(1级)假设Laughing Sir希望全部采用公里计量,你可以帮他写出转换程序吗?已知1英里等于1.609公里。
1032: 单位转换(1级) 时间限制: 1 Sec 内存限制: 128 MB 提交: 309 解决: 215 [提交] [状态] [讨论版] [命题人:admin] 题目描述 Laughing Si ...
- 解决SAP中单位转换问题
SAP中的单位转换有时候弄的有点不顺手.在调用BDC的时候,发现了这个问题.如果输入英文单位,会提示单位在中文中没有创建.但是在表T006和T006A中均能找到此单位.可能是后台配置的问题.至今未找到 ...
- 至于你信不信,我反正是信了——以类为单位的编程思想
一.打开和关闭数据库 你需要知道这么几个信息:你要连接的是哪台机器(机器名:SPXY-WYH):你要采取什么身份验证方式(Window身份验证方式,还是SQL Server身份验证方式): ...
- Android原生系统API自带dp、px、sp单位转换
Android系统中自带的Api中可以使用TypedValue进行单位转换 1,调用系统api转换单位 // 获得转换后的px值 float pxDimension = TypedValue.appl ...
最新文章
- php ci hooks,CI框架 -- 核心文件 之 Hooks.php
- 【转】C# typeof()实例详解
- SoapUI工具中的用户名和密码如何用net代码实现传入
- SpringMVC框架--学习笔记(下)
- 【Qt】Qt中JSON简介
- 自定义控件复选框和单选框的实现
- mac下的git的安装与简单的配置
- 前端js实现中文转五笔和拼音首字母
- SPSS中文视频教程下载
- PDF如何加水印? PDF加水印的方法
- python怎样分析文献综述_文献综述实例评析
- Elasticsearch 集群报错 master not discovered yet
- 开源机器人SmallRobotArm机器人源码解读
- android内核函数,Android display架构分析三-Kernel Space Display架构介绍
- JPBC库应用之BLS签名
- mismatch详解
- SQL性能优化以及性能测试
- 花呗的24期利息计算器_花呗利息怎么算 利息计算器算一算花呗分期付款利率
- 电动尾门驱动芯片TMI8720-Q1,越来越多的电机已被应用到汽车上
- 跳槽字节跳动,十年开发经验Android架构师,灵魂拷问